ExtendDB เปิดตัวเซิร์ฟเวอร์จำลอง DynamoDB บน PostgreSQL
ทีมงาน AWS เปิดตัว ExtendDB เวอร์ชัน 0.1 โซลูชันจำลอง DynamoDB wire protocol ที่จัดเก็บข้อมูลทั้งหมดลงใน PostgreSQL โดยตรงเพื่อการพัฒนาและทดสอบ

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- AWS ปล่อย ExtendDB เซิร์ฟเวอร์จำลองโปรโตคอล DynamoDB ที่เก็บข้อมูลลงใน PostgreSQL
- รองรับฟีเจอร์หลักทั้ง Query, Scan, GSI, TTL และการค้นหาเวกเตอร์ด้วย pgvector
- ออกแบบมาสำหรับใช้งานในสภาพแวดล้อมการพัฒนา การทดสอบ และ CI
เมื่อวันที่ 20 พฤษภาคม 2026 สมาชิกสองคนจากทีม DynamoDB ได้เผยแพร่โปรเจกต์ชื่อว่า ExtendDB ซึ่งเป็นเซิร์ฟเวอร์ภายใต้สัญญาอนุญาต Apache 2.0 ที่ทำหน้าที่รองรับ DynamoDB wire protocol และจัดเก็บข้อมูลทุกชิ้นลงในฐานข้อมูล PostgreSQL ทำให้ระบบ SDK ของนักพัฒนาเข้าใจว่ากำลังเชื่อมต่ออยู่กับบริการ DynamoDB แท้จริงแล้ว แต่เบื้องหลังกลับเป็นฐานข้อมูล PostgreSQL ที่สามารถเปิดใช้งานผ่านคำสั่ง psql ได้ทันที
จุดเด่นที่น่าสนใจคือ โดยปกติแล้ว DynamoDB จะไม่ยอมให้ผู้ใช้งานมองเห็นโครงสร้างการจัดเก็บข้อมูลภายใน แต่สำหรับ ExtendDB ข้อมูลทั้งหมดจะถูกแปลงไปเก็บไว้ในตาราง SQL ธรรมดา ช่วยให้นักพัฒนาที่เคยออกแบบฐานข้อมูลแบบ Single-table บนกระดานไวท์บอร์ดสามารถตรวจสอบข้อมูลจริงๆ ได้ผ่านคำสั่ง ddl และหน้าต่างจัดการฐานข้อมูล

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
โปรเจกต์นี้พัฒนาด้วยภาษา Rust ดูแลโดยทีมงาน AWS และระบุไว้ในเอกสาร README ว่าเป็นการพัฒนา clean-room implementation ของโปรโตคอล DynamoDB โดยประกาศเปิดตัวครั้งแรกในเวอร์ชัน 0.1 และล่าสุดในเดือนตุลาคมมีการอัปเดตเป็นเวอร์ชัน 0.1.13 ซึ่งยังคงอยู่ในช่วงเริ่มต้นของการพัฒนา พร้อมรองรับแบ็กเอนด์หลักอย่าง PostgreSQL 14 ขึ้นไป รวมถึงมีการกล่าวถึง MongoDB และ SQLite ในเอกสารประกอบเช่นกัน นอกจากนี้ระบบยังบังคับใช้ความปลอดภัยผ่าน TLS และต้องลงนามคำขอด้วย SigV4 ทุกครั้ง
การที่ AWS พัฒนาเครื่องมืออย่าง ExtendDB ขึ้นมา สะท้อนให้เห็นความพยายามในการเชื่อมโลกของ NoSQL เข้ากับความคุ้นเคยของฐานข้อมูลเชิงสัมพันธ์ (Relational Database) อย่าง PostgreSQL ซึ่งช่วยแก้ปัญหาความโปร่งใสในการพัฒนาแอปพลิเคชัน ทำให้วิศวกรสามารถตรวจสอบโครงสร้างข้อมูลจริงที่ถูกสร้างขึ้นจากการออกแบบตารางเดี่ยว (Single-table design) ได้อย่างง่ายดายบนสภาพแวดล้อมเครื่องนักพัฒนา (Local development) หรือระบบ CI
ในแง่ของการใช้งาน โครงสร้างของ ExtendDB จะทำการแยกแคตตาล็อกฐานข้อมูลออกจากข้อมูลจริง โดยตาราง Global Secondary Index (GSI) จะถูกสร้างเป็นตารางแยกต่างหาก พร้อมจำลองพฤติกรรมการจัดเก็บข้อมูลและการเรียงลำดับแบบ UTF-8 byte ผ่านการกำหนด COLLATE "C" ให้เทียบเคียงกับมาตรฐานของ DynamoDB มากที่สุด แม้ว่าระบบในเวอร์ชัน 0.1 นี้จะถูกออกแบบมาสำหรับการทดลองและพัฒนาในเบื้องต้น แต่ก็เป็นเครื่องมือสำคัญที่ช่วยลดความซับซ้อนในการจำลองฐานข้อมูลบนคลาวด์ได้เป็นอย่างดี
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น