Cloudflare ปรับปรุง D1 Control Plane รองรับฐานข้อมูลระดับล้านรายการ

Cloudflare ได้แบ่งปันการออกแบบใหม่ของ control plane สำหรับฐานข้อมูล SQL แบบ serverless D1 ซึ่งสามารถรองรับฐานข้อมูลได้ถึงหลักล้าน โดยการหลีกเลี่ยงคอขวดจากส่วนกลาง และนำการลองใหม่ (retries) กับ idempotency มาใช้ รวมถึงใช้ eventual consistency

การประมวลผลคิวรีเกิดขึ้นที่ Edge แยกจากการดำเนินการจัดการส่วนกลาง โดยใช้ distributed metadata caching, connection pooling, asynchronous workflows และ periodic health checks เพื่อเพิ่มความสามารถในการปรับขนาดและกู้คืนจากความล้มเหลว

ในรอบปีที่ผ่านมา จำนวนฐานข้อมูลที่ใช้งานรายวันเพิ่มขึ้นถึง 18 เท่า กลไกนี้ทำให้การดำเนินการสร้างหรือลบที่ล้มเหลวสามารถแก้ไขตัวเองได้ เช่น การทำเครื่องหมายวัตถุที่ถูกทอดทิ้งว่าถูกลบ

Eyeball Worker จะจัดการการตรวจสอบสิทธิ์และการอนุญาต โดยเชื่อถือการอนุญาตเฉพาะของฐานข้อมูลที่เข้ารหัสไว้ใน D1 Bindings เพื่อหลีกเลี่ยงการตรวจสอบซ้ำซ้อนในเส้นทางการสอบถาม

Workers KV ทำหน้าที่เป็น durable datastore ไม่ใช่แค่แคชเท่านั้น หากรายการหลุดจาก edge cache ของ KV การอ่านจะถูกให้บริการจากที่เก็บข้อมูลของ KV เอง แทนที่จะเป็น Postgres ซึ่งช่วยให้ Postgres ไม่ต้องเข้ามาใน data plane

สำหรับราคา มี free tier ถาวรที่รวมการจัดเก็บทั้งหมด 5 GB, อ่านรายวัน 5 ล้านแถว และเขียนรายวัน 100,000 แถว ส่วนนอกเหนือจากนี้ การจัดเก็บมีราคา 0.75 USD ต่อ GB-month, อ่านราคา $0.001 ต่อล้านแถว และเขียนราคา 1 USD ต่อล้านแถว

ศัพท์ที่ควรรู้

  • Control Plane – ส่วนควบคุมที่จัดการการทำงานของระบบทั้งหมด
  • Serverless SQL database – ฐานข้อมูล SQL ที่ไม่ต้องจัดการเซิร์ฟเวอร์เอง
  • Idempotency – คุณสมบัติที่ทำให้การดำเนินการซ้ำๆ ให้ผลลัพธ์เหมือนเดิม
  • Eventual consistency – สภาวะที่ข้อมูลจะถูกทำให้สอดคล้องกันในที่สุด แม้ว่าจะไม่พร้อมกันทันที
  • Edge API Worker – ส่วนประกอบที่ทำงานที่ขอบเครือข่ายเพื่อจัดการคำขอ

ที่มา: infoq.com

Leave a Comment