Oskar Dudycz นักพัฒนาด้านผู้สนับสนุนแนวทาง Event-Driven Architecture เปิดตัวไลบรารี Pongo สำหรับการจำลอง MongoDB โดยเชื่อมต่อเข้าไปยัง PostgreSQL แทน
แนวทางการใช้งาน PostgreSQL มาแทนที่ MongoDB นั้นมีมานานแล้ว เช่น FerretDB ที่จำลองการทำงานของ MongoDB ระดับ wire-protocol ทำให้แอปพลิเคชั่นสามารถเชื่อมต่อกับ FerretDB โดยนึกว่าเป็น MongoDB ได้ แต่เอนจินเบื้องหลังจริงๆ เป็น PostgreSQL แต่แนวทางของ Pongo ต่างออกไป โดยไลบรารีจะเป็นฝั่งไคลเอนต์ที่จำลอง API ให้เหมือนไลบรารี MongoDB ในภาษาจาวาสคริปต์ขึ้นมา แต่การเชื่อมต่อไปยังฐานข้อมูลนั้นสามารถเชื่อมต่อไปยัง PostgreSQL เดิมๆ ไม่ต้องการแก้ไขอะไร
Pongo อาศัยการสร้างตารางหนึ่งตารางต่อ collection และแต่ละตารางมีเพียง 2 ฟิลด์ คือ _id และ data ที่เป็น JSONB เท่านั้น จากนั้นก็จะแปลงการคิวรีต่างๆ เป็นการฟิลเตอร์ในฟิลด์ data ทั้งหมด กระบวนการย้ายจาก MongoDB มาเป็น PostgreSQL จะอาศัยการแก้โค้ดที่ฝั่งไคลเอนต์เพื่อไปใช้งานแทนไลบรารี MongodB เดิม
ตอนนี้ Pongo ยังเป็นช่วงเริ่มต้น และยังจำลอง API ไม่ครบทั้งหมด
ที่มา - GitHub: event-driven-io/Pongo
Comments
เพื่อ????
-/\-
lewcpe.com, @wasonliw
นั้นซ้ำครับ
แค่สำหรับ JavaScript?
Ooh
กลับมา relational database เถอะ เห็นแล้วเหนื่อย
ที่จริง use case ที่เก็บ serialized data อย่าง JSON ลง field มันก็ไม่เยอะนะ
แต่ชอบดันทุรังกันจัง
อยากจะได้แบบ object ก็แยกเป็นอีก Layer นึงแบบ ORM เข้าท่ากว่า
อาการนี้ก็จะกลับมากันล่ะครับ แต่โค้ดเดิมมันมีอยู่ แอปเดิมทำไปแล้ว จะแก้หมดก็ไม่ไหว มันก็ต้องมีทาง transition กลับมา
lewcpe.com, @wasonliw