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