全部产品
Search
文档中心

ApsaraDB RDS:Babelfish untuk ApsaraDB RDS for PostgreSQL

更新时间:Jul 02, 2025

Jika Anda ingin instance ApsaraDB RDS for PostgreSQL menangani dan memproses data dari database Microsoft SQL Server dan PostgreSQL, atau berencana memigrasikan data aplikasi dari SQL Server ke RDS untuk mengurangi biaya, Anda dapat mengaktifkan Babelfish. Babelfish mendukung pernyataan Transact-SQL (T-SQL) dan Tabular Data Stream (TDS). Topik ini menjelaskan fitur, arsitektur, skenario, serta catatan penggunaan Babelfish untuk ApsaraDB RDS for PostgreSQL.

Definisi

ApsaraDB RDS for PostgreSQL menyediakan fitur Babelfish yang dikembangkan berdasarkan proyek sumber terbuka Babelfish for PostgreSQL. Anda dapat mengaktifkan Babelfish saat membuat instance ApsaraDB RDS for PostgreSQL. Setelah diaktifkan, instance RDS dapat menangani dan memproses data dari database Microsoft SQL Server dan PostgreSQL, serta mengurai dan mengeksekusi pernyataan Transact-SQL (T-SQL).

Babelfish mendukung Tabular Data Stream (TDS), the SQL Server wire-protocol dan T-SQL, the Microsoft SQL Server query language. Anda dapat memigrasikan database aplikasi dari SQL Server ke RDS dengan Babelfish hanya dengan memodifikasi beberapa baris kode, tanpa perlu mengganti driver database atau menulis ulang pernyataan SQL.

Untuk informasi lebih lanjut, lihat Fungsi bawaan T-SQL yang didukung oleh Babelfish.

Skema

  • Anda ingin mengurangi biaya lisensi SQL Server.

  • Anda ingin memigrasikan database SQL Server ke PostgreSQL tanpa menghabiskan banyak waktu atau upaya untuk memodifikasi kode aplikasi.

  • Anda ingin menggunakan pustaka ekstensi sumber terbuka PostgreSQL, seperti PostGIS untuk analisis data spatio-temporal dan TimescaleDB untuk analisis data deret waktu.

  • Anda ingin mengurangi biaya dengan menggunakan satu instance RDS untuk memproses data dari database PostgreSQL dan SQL Server.

Arsitektur

Deskripsi arsitektur:

  • Instance RDS dengan Babelfish yang diaktifkan menggunakan pendengar berikut untuk memantau permintaan dari klien SQL Server dan PostgreSQL melalui port TCP:

    • Pendengar TDS: menerima permintaan melalui port TDS untuk SQL Server. Nomor port default adalah 1433.

      Catatan

      Babelfish mendukung TDS 7.1 atau yang lebih baru. Microsoft SQL Server 2000 dan versi yang lebih baru didukung.

    • Pendengar PostgreSQL: menerima permintaan melalui port untuk PostgreSQL. Nomor port default adalah 5432.

      Catatan

      Instance RDS yang menjalankan PostgreSQL 15 didukung.

  • Ketika instance RDS dengan Babelfish menerima permintaan dari pendengar TDS, permintaan tersebut diteruskan ke pengurai T-SQL. Pengurai T-SQL kemudian mengonversi pernyataan T-SQL dari SQL Server menjadi rencana eksekusi yang dapat diproses oleh PostgreSQL.

  • Ketika instance RDS dengan Babelfish menerima permintaan dari pendengar PostgreSQL, permintaan tersebut diteruskan ke pengurai PostgreSQL untuk menghasilkan rencana eksekusi.

  • Pelaksana SQL dari PostgreSQL memproses dan mengeksekusi semua rencana.

Dengan mengaktifkan Babelfish, instance RDS menggabungkan kemampuan mesin database PostgreSQL dan SQL Server. Instance RDS dapat menangani permintaan dari klien SQL Server dan PostgreSQL, membantu mengurangi biaya serta meningkatkan efisiensi pemrosesan.

Mode migrasi

Database PostgreSQL bernama babelfish_db disediakan untuk instance RDS dengan Babelfish yang diaktifkan. Semua objek dan skema SQL Server yang dimigrasikan disimpan dalam database PostgreSQL ini.

Catatan

Jika Anda menghubungkan aplikasi ke instance RDS melalui port TDS, database babelfish_db tidak terlihat.

Anda dapat menggunakan mode Single-DB atau mode Multi-DB. Mode yang dipilih memengaruhi nama skema dalam database SQL Server dan dalam database babelfish_db.

Mode Single-DB

  • Arsitektur single-db

  • Deskripsi: Dalam mode ini, nama skema dari database pengguna dalam database babelfish_db sama dengan nama skema dalam database SQL Server.

    Sebagai contoh, Anda membuat database bernama DB_A melalui port TDS dan kemudian membuat skema bernama schema_A dalam database DB_A.

    • Skema bernama dbo dan schema_A berada dalam database babelfish_db PostgreSQL.

    • Skema bernama dbo dan schema_A berada dalam database DB_A SQL Server.

Mode Multi-DB

  • Arsitektur Multi-DB

  • Deskripsi: Dalam mode ini, skema dari database pengguna dalam PostgreSQL diberi nama dalam format dbname_schemaname. Dalam SQL Server, nama skema tetap tidak berubah.

    Sebagai contoh, Anda membuat database bernama DB_A melalui port TDS dan kemudian membuat skema bernama schema_A dalam database DB_A.

    • Skema bernama DB_A_dbo dan DB_A_schema_A berada dalam database babelfish_db PostgreSQL.

    • Skema bernama dbo dan schema_A berada dalam database DB_A SQL Server.

Aturan penagihan

Harga instance RDS dengan Babelfish yang diaktifkan sama dengan harga instance RDS biasa. Tidak ada biaya tambahan yang dikenakan. Harga bervariasi berdasarkan konfigurasi instance, seperti wilayah, tipe instance, dan tipe penyimpanan. Untuk informasi lebih lanjut, kunjungi halaman pembelian ApsaraDB RDS.

Catatan penggunaan

  • Anda hanya dapat mengaktifkan Babelfish untuk instance ApsaraDB RDS for PostgreSQL saat membuat instance RDS. Instance RDS harus menggunakan pengaturan parameter berikut:

    Catatan

    Instance RDS yang menjalankan Edisi Kluster RDS tidak didukung.

    • Mesin Database: PostgreSQL 15.

    • Tipe Produk: Standar.

  • Anda tidak dapat mengaktifkan Babelfish untuk instance RDS yang sudah ada.

  • Anda tidak dapat menonaktifkan Babelfish setelah diaktifkan.

  • Setelah instance RDS dibuat, database babelfish_db akan dibuat. Database babelfish_db adalah database utama dari instance RDS dengan Babelfish yang diaktifkan. Kami sarankan Anda tidak menghapus database tersebut karena dapat menyebabkan instance RDS menjadi tidak tersedia.

Referensi