Amazon merilis kode sumber Babelfish untuk PostgreSQL

Baru-baru ini tersiar kabar bahwa Amazon memutuskan untuk merilis kode sumber untuk "Babelfish for PostgreSQL", mengusulkan perpanjangan ke database PostgreSQL dengan implementasi kemampuan khusus dari database Microsoft SQL Server.

Tujuan utama dari proyek ini adalah untuk menyediakan kemampuan untuk menjalankan aplikasi yang ditulis untuk SQL Server di server yang menjalankan PostgreSQL. Kode proyek terbuka di bawah lisensi Apache 2.0 dan Lisensi PostgreSQL.

Bagi mereka yang tidak terbiasa dengan Babelfish, Anda harus tahu bahwa ini mendukung protokol jaringan yang digunakan untuk menghubungkan klien ke SQL Server, T-SQL, dan ekstensi bahasa kueri khusus SQL Server, memungkinkan Anda menerjemahkan aplikasi yang berjalan dari Microsoft SQL Server ke PostgreSQL tanpa memodifikasi kode Anda atau dengan sedikit perubahan dan tanpa mengganti driver ke DBMS. Untuk aplikasi, Babelfish terlihat seperti server SQL biasa. Proyek ini sudah digunakan di Amazon Aurora.

Hari ini, kami menyediakan Babelfish untuk Aurora PostgreSQL. Babelfish memungkinkan Amazon Aurora PostgreSQL-Compatible Edition untuk memahami protokol koneksi SQL Server. Ini memungkinkan Anda untuk memigrasikan aplikasi Anda dari SQL Server ke PostgreSQL dengan lebih murah, lebih cepat, dan dengan risiko yang lebih kecil terkait dengan perubahan semacam itu.

Disebutkan bahwa proyek Babelfish mengikuti model pengembangan terbuka yang memungkinkan kontributor komunitas untuk membuat perubahan dan mempengaruhi pembangunan. Untuk pengguna, ubah ke Babelfish akan memungkinkan Anda untuk menghindari royalti yang signifikan untuk menggunakan SQL Server, melewati batasan lisensi dan tidak bergantung pada perubahan dalam kebijakan pemeliharaan produk berpemilik (pembatalan manfaat, penghentian dukungan platform, kenaikan harga).

Proyek ini mencakup satu set ekstensi PostgreSQL, satu set tambalan PostgreSQL, dan alat kompas:

Ekstensi menyediakan dukungan PostgreSQL untuk sintaks tambahan, tipe data, dan fungsi yang diperlukan untuk bermigrasi dari SQL Server. Total 4 ekstensi yang diusulkan:

  • babelfishpg_tsql: yang merupakan ekstensi untuk melaksanakan implementasi bahasa T-SQL (Transact-SQL) yang menambah SQL dengan pemrograman prosedural, dukungan untuk variabel lokal dan fungsi lanjutan untuk menangani string, tanggal, dan ekspresi matematika. Sebagian besar fungsi T-SQL yang diminta telah diimplementasikan, termasuk titik penyimpanan, prosedur tersimpan, dan transaksi bersarang. Namun, sebagian besar sintaks dan fungsi tetap tidak direalisasikan (sebagai aturan, ini adalah karakteristik yang jarang digunakan dalam aplikasi nyata, tabel kompatibilitas). Misalnya, konstruksi "TAMBAHKAN TANDA TANGAN", "BUAT AGGREGAT", "BUAT / ALTER / DROP APPLICATION ROLE | ASSEMBLY | ASYMMETRIC KEY", "MULAI WAKTU KONVERSI", "AKHIR / PINDAHKAN KONVERSASI", dan seterusnya. mereka belum tersedia.
  • babelfishpg_tds: ekstensi untuk implementasi protokol TDS (Tabular Data Stream) yang digunakan di SQL Server untuk koneksi jaringan antara DBMS dan klien. Protokol TDS versi 7.1 dan lebih tinggi didukung.
  • babelfishpg_common: ekstensi untuk implementasi tipe data SQL Server tertentu.
    babelfishpg_money: adalah implementasi jenis uang berdasarkan kode ekstensi FixedDecimal.

Patch tersebut mencakup perubahan pada mesin PostgreSQL yang diperlukan untuk menyediakan fungsionalitas tambahan pada ekstensi Babelfish. Saat ini, bersama dengan pengembang PostgreSQL, pekerjaan sedang dilakukan untuk memasukkan tambalan yang disiapkan ke dalam komposisi PostgreSQL utama. Patch disiapkan untuk PostgreSQL 13.

Utilitas kompas dirancang untuk mengurai skrip T-SQL DDL dan kode SQL untuk kompatibilitas dengan Babelfish. Pada output, dihasilkan laporan fungsionalitas mana yang diperlukan untuk memulai aplikasi yang belum didukung oleh Babelfish.

Pustaka klien berikut untuk menghubungkan ke MS SQL Server secara resmi didukung:

  • Penyedia OLEDB / MSOLEDBSQL
  • Driver OLEDB / SQLOLEDB
  • Kerangka kerja entitas Ado.NET
  • SQL Server 11.0 Klien Asli
  • ODBC (Konektivitas Basis Data Terbuka)
    JDBC (Konektivitas Basis Data Java)

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentang itu, Anda dapat memeriksa detail catatan Di tautan berikut. Adapun mereka yang tertarik untuk dapat melihat kode sumbernya, mereka dapat melakukannya dari tautan ini.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.