Amazon mengeluarkan kod sumber Babelfish untuk PostgreSQL

Baru-baru ini berita dikeluarkan bahawa Amazon memutuskan untuk mengeluarkan kod sumber "Babelfish for PostgreSQL", mencadangkan pelanjutan kepada pangkalan data PostgreSQL dengan pelaksanaan keupayaan khusus pangkalan data Microsoft SQL Server.

Matlamat utama projek ini adalah untuk menyediakan keupayaan untuk menjalankan aplikasi yang ditulis untuk SQL Server pada pelayan yang menjalankan PostgreSQL. Kod projek dibuka di bawah lesen Apache 2.0 dan Lesen PostgreSQL.

Bagi mereka yang tidak biasa dengan Babelfish, anda harus tahu bahawa ini menyokong protokol rangkaian yang digunakan untuk menyambungkan klien ke SQL Server, T-SQL, dan sambungan bahasa pertanyaan khusus SQL Server, membolehkan anda menterjemah aplikasi yang sedang dijalankan daripada Microsoft SQL Server kepada PostgreSQL tanpa mengubah suai kod anda atau dengan perubahan yang minimum dan tanpa menggantikan pemacu kepada DBMS. Untuk aplikasi, Babelfish kelihatan seperti pelayan SQL biasa. Projek ini sudah digunakan di Amazon Aurora.

Hari ini, kami menyediakan Babelfish untuk Aurora PostgreSQL. Babelfish membolehkan Amazon Aurora PostgreSQL-Compatible Edition memahami protokol sambungan SQL Server. Ia membolehkan anda memindahkan aplikasi anda daripada SQL Server ke PostgreSQL dengan lebih murah, lebih pantas dan kurang risiko yang dikaitkan dengan perubahan sedemikian.

Dinyatakan bahawa projek itu Babelfish mengikuti model pembangunan terbuka yang membolehkan penyumbang komuniti membuat perubahan dan mempengaruhi pembangunan. Bagi pengguna, perubahan kepada Babelfish akan membolehkan anda mengelakkan royalti yang ketara untuk menggunakan SQL Server, memintas sekatan lesen dan tidak bergantung pada perubahan dalam dasar penyelenggaraan produk proprietari (pembatalan faedah, penamatan sokongan platform, kenaikan harga).

Projek ini termasuk satu set sambungan PostgreSQL, satu set tampung PostgreSQL dan kit alat kompas:

Sambungan menyediakan sokongan PostgreSQL untuk sintaks tambahan, jenis data dan fungsi yang diperlukan untuk berhijrah daripada SQL Server. Sebanyak 4 sambungan dicadangkan:

  • babelfishpg_tsql: yang merupakan lanjutan untuk melaksanakan pelaksanaan bahasa T-SQL (Transact-SQL) yang menambah SQL dengan pengaturcaraan prosedur, sokongan untuk pembolehubah tempatan dan fungsi lanjutan untuk mengendalikan rentetan, tarikh dan ungkapan matematik. Kebanyakan fungsi T-SQL yang diminta telah dilaksanakan, termasuk menyimpan mata, prosedur tersimpan dan transaksi bersarang. Walau bagaimanapun, sebahagian besar sintaks dan fungsi masih belum direalisasikan (sebagai peraturan, ini adalah ciri yang jarang digunakan dalam aplikasi sebenar, jadual keserasian). Sebagai contoh, binaan "TAMBAH TANDATANGAN", "CIPTA AGREGAT", "CIPTA / UBAH / GUGURKAN PERANAN APLIKASI | PERHIMPUNAN | KUNCI ASIMETRI", "MULAKAN MASA PERBUALAN", "TAMAT / GERAK PERBUALAN", dan sebagainya. masih belum tersedia.
  • babelfishpg_tds: sambungan untuk pelaksanaan protokol TDS (Strim Data Jadual) yang digunakan dalam SQL Server untuk sambungan rangkaian antara DBMS dan klien. Protokol TDS versi 7.1 dan lebih tinggi disokong.
  • babelfishpg_common: sambungan untuk melaksanakan jenis data khusus SQL Server.
    babelfishpg_money: ialah pelaksanaan jenis wang berdasarkan kod sambungan FixedDecimal.

Tampalan termasuk perubahan pada enjin PostgreSQL yang diperlukan untuk menyediakan fungsi tambahan kepada sambungan Babelfish. Pada masa ini, bersama-sama dengan pembangun PostgreSQL, kerja sedang dilakukan untuk memasukkan patch yang disediakan dalam komposisi PostgreSQL utama. Tampalan disediakan untuk PostgreSQL 13.

Utiliti kompas direka untuk menghuraikan skrip DDL T-SQL dan kod SQL untuk keserasian dengan Babelfish. Dalam output, laporan dihasilkan yang mana fungsi yang diperlukan untuk memulakan aplikasi masih belum disokong oleh Babelfish.

Pustaka klien berikut untuk menyambung ke MS SQL Server disokong secara rasmi:

  • Pembekal OLEDB / MSOLEDBSQL
  • Pemacu OLEDB / SQLOLEDB
  • Rangka kerja entiti Ado.NET
  • SQL Server 11.0 Native Client
  • ODBC (Kesambungan Pangkalan Data Terbuka)
    JDBC (Kesambungan Pangkalan Data Java)

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak butiran nota Dalam pautan berikut. Bagi mereka yang berminat untuk melihat kod sumber, mereka boleh berbuat demikian dari pautan ini.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.