เมื่อปีที่แล้ว AWS เปิดตัว โครงการ Babelfish for PostgreSQL ตัวแปลงให้ซอฟต์แวร์ต่างๆ ที่เชื่อมต่อกับ Microsoft SQL Server สามารถเชื่อมกับฐานข้อมูล PostgreSQL ได้เพื่อประหยัดค่าไลเซนส์ ตอนนี้โครงการก็เข้าสถานะ GA ให้ทุกคนใช้งาน พร้อมกับโครงการโอเพนซอร์สออกมาพร้อมกัน
Babelfish รับผิดชอบการแปลงโปรโตคอล 3 ระดับ ได้แก่
- ตัวโค้ด SQLเอง แม้ SQL จะเป็นมาตรฐานแต่ในความเป็นจริงการอิมพลีเมนต์ก็มีความแตกต่างกัน เช่น ชนิดข้อมูล, ฟังก์ชั่นและโอเปอร์เรเตอร์ที่มีไม่เท่ากันหรือบางครั้งก็ทำงานไม่เหมือนกัน
- ภาษา T-SQLที่เป็นส่วนขยายจาก SQL เฉพาะของไมโครซอฟท์ มีฟีเจอร์หลายอย่างที่ SQL ปกติไม่มี เช่น การประกาศตัวแปร, exceptions, if-else
- โปรโตคอล TDSสำหรับการเชื่อมต่อกับไคลเอนต์เดิมที่เชื่อมต่อกับ SQL Server อยู่แล้ว การที่ Babelfish แปลงโปรโตคอลเป็น PostgreSQL ทำให้แอปพลิเคชั่นเดิมๆ สามารถใช้งานได้ทันทีโดยไม่ต้องเปลี่ยนไดร์เวอร์หรือไลบรารีใหม่
ตัวโครงการแก้ไข PostgreSQL อย่างหนัก มีตั้งแต่แพตช์ตัวฐานข้อมูลเอง โดย AWS ระบุว่าจะพยายามส่งแพตช์เข้าไปยังโครงการ PostgreSQL เองในอนาคต และยังเป็นส่วนขยายของ PostgreSQL อีก 4 ตัวเพื่อรองรับฟีเจอร์ต่างๆ เมื่อรัน PostgreSQL เวอร์ชั่นที่ติดตั้ง Babelfish ตัวฐานข้อมูลจะรองรับการเชื่อมต่อแบบ PostgreSQL เดิมที่พอร์ต 5432 และการเชื่อมต่อ TDS ที่พอร์ต 1433 เหมือน SQL Server
สำหรับผู้ใช้งานผ่านบริการ RDS หลังจากนี้เมื่อเลือกฐานข้อมูลเป็น PostgreSQL เวอร์ชั่น 13.4 ขึ้นไป จะมีตัวเลือก Babelfish ให้เปิดใช้งาน เมื่อเลือกแล้วสามารถใช้ไคลเอนต์ของไมโครซอฟท์ เช่น SSMS เชื่อมต่อเข้าไปเหมือน SQL Server ได้ทันที
ที่มา - AWS , Babelflish
Comments
Exit Oracle เสร็จก็มา Exit MSSQL ต่อ
สงสัยว่า Postgres เองเค้าจะอยากได้เวิร์คโหลดซับซ้อนแบบ MS SQL หรือเปล่าเนี่ยสิครับ
PostgreSQL เกิดมาเพื่อทดแทน Oracle อยู่แล้วนะครับ รองรับฟีเจอร์ซับซ้อน (เพื่อพยายามเทียบเท่า) ค่อนข้างมาก ถ้าดูโครงการนี้เองก็นับว่าไม่ได้แก้เยอะแบบคนละเรื่องอะไรขนาดนั้น
lewcpe.com , @wasonliw