สถาปัตยกรรม Cosmos DB
พัฒนาแอปพลิเคชันบน Azure Storage
Shahzad Mian
Content developer, DataCamp
Azure Cosmos DB
ปัญหาที่พบ
Cosmos DB คืออะไร?
ฐานข้อมูล NoSQL แบบ Multi-model กระจายทั่วโลก
NoSQL — จัดเก็บข้อมูลแบบยืดหยุ่น คล้ายโฟลเดอร์
รองรับหลาย API และหลายประเภทข้อมูล
เลือก API ที่เหมาะกับงานได้เลย:
SQL (Core) สำหรับเอกสาร JSON
MongoDB สำหรับนักพัฒนา Mongo
Cassandra สำหรับข้อมูลแบบ wide-column
Gremlin สำหรับความสัมพันธ์แบบกราฟ
Table API สำหรับจัดเก็บแบบ key-value
Cosmos DB สำหรับนักพัฒนา
ออกแบบมาเพื่อนักพัฒนาโดยเฉพาะ
จัดทำดัชนีอัตโนมัติ ไม่ต้องจัดการสคีมา
คิวรีได้รวดเร็ว
ระดับ Consistency 5 แบบ: ตั้งแต่ Strong ถึง Eventual
ต้องเลือกสมดุลระหว่างประสิทธิภาพและความสอดคล้องของข้อมูล
Strong — ทุกคนเห็นข้อมูลเดียวกันทันที
Eventual — ข้อมูลอัปเดตตามมาทีหลัง
การปรับขนาดและ Throughput (RU/s)
Request units per second (RU/s) = หน่วยวัดประสิทธิภาพของ Cosmos DB
การอ่าน เขียน หรือคิวรีแต่ละครั้งใช้ RU/s
เลือกได้ระหว่างการกำหนดค่าคงที่หรือ Autoscale
การปรับขนาดและ Throughput (RU/s)
Request units per second (RU/s) = หน่วยวัดประสิทธิภาพของ Cosmos DB
การอ่าน เขียน หรือคิวรีแต่ละครั้งใช้ RU/s
เลือกได้ระหว่างการกำหนดค่าคงที่หรือ Autoscale
Autoscale ปรับค่าอัตโนมัติตามความต้องการ
Elastic Scale และการแบ่ง Partition
Cosmos DB ปรับขนาดด้วยการแบ่ง Partition
แต่ละ Container ใช้ Partition Key
Key ช่วยจัดกลุ่มข้อมูลที่เกี่ยวข้องไว้ด้วยกัน
ตัวอย่าง: Cipher Coffee ใช้
/customerId
สำหรับคำสั่งซื้อ
คำสั่งซื้อทั้งหมดของลูกค้าจะอยู่ใน Partition เดียวกันเมื่อใช้
/customerId
เป็น Partition Key
คิวรียังคงรวดเร็วแม้ข้อมูลจะเพิ่มขึ้น
Hot Partition
: การกระจาย Partition ไม่สม่ำเสมอ ทำให้ประสิทธิภาพลดลง
การกระจายข้อมูลทั่วโลก
จำลองข้อมูลไปยัง Azure Region ใดก็ได้อย่างง่ายดาย
เพียงติ๊กช่องเลือก ไม่ต้องตั้งค่าเพิ่มเติม
หาก Region ใดล้มเหลว การรับส่งข้อมูลจะเปลี่ยนเส้นทางอัตโนมัติ
ไม่มีเวลาหยุดทำงาน ไม่สูญเสียข้อมูล
พร้อมให้บริการได้ทันทีเสมอ
การ Monitoring และการเพิ่มประสิทธิภาพต้นทุน
ติดตามประสิทธิภาพได้ใน Azure Portal
ดู Metric ต่างๆ เช่น RU/s, Latency และค่าใช้จ่ายของ Request
เหมือนแดชบอร์ดรถยนต์ — เห็นความเร็วและการใช้เชื้อเพลิงได้ทันที
ทีมวิศวกรของ Cipher Coffee วิเคราะห์ Metric เหล่านี้
ลดต้นทุนด้วยการปรับ Throughput แบบ Dynamic
มาฝึกกันเถอะ!
พัฒนาแอปพลิเคชันบน Azure Storage
Preparing Video For Download...