全部产品
Search
文档中心

AnalyticDB:Sinkronkan data dari instance ApsaraDB RDS for SQL Server ke instance AnalyticDB for PostgreSQL

更新时间:Jul 06, 2025

Topik ini menjelaskan cara menyinkronkan data dari instance ApsaraDB RDS for SQL Server ke instance AnalyticDB for PostgreSQL menggunakan Data Transmission Service (DTS). Fitur sinkronisasi data memungkinkan Anda mentransfer dan menganalisis data dengan mudah.

Prasyarat

Catatan Penggunaan

  • DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan selama migrasi data penuh. Hal ini dapat meningkatkan beban pada server database. Jika performa database tidak optimal, spesifikasinya rendah, atau volume datanya besar, layanan database mungkin menjadi tidak tersedia. Sebagai contoh, DTS menggunakan banyak sumber daya baca dan tulis dalam kasus-kasus berikut: sejumlah besar query SQL lambat dilakukan pada database sumber, tabel tidak memiliki kunci utama, atau terjadi deadlock di database tujuan. Sebelum memigrasi data, evaluasi dampak migrasi data terhadap performa database sumber dan tujuan. Kami menyarankan Anda memigrasi data selama jam-jam sepi. Sebagai contoh, Anda dapat memigrasi data ketika utilisasi CPU dari database sumber dan tujuan kurang dari 30%.

  • Untuk memastikan bahwa latensi sinkronisasi data akurat, DTS menambahkan tabel detak jantung ke database sumber. Nama tabel detak jantung adalah dts_log_heart_beat.

  • Dalam skenario ini, DTS mendukung sinkronisasi skema untuk jenis objek berikut: skema, tabel, tampilan, fungsi, dan prosedur.

    Peringatan

    ApsaraDB RDS for SQL Server dan AnalyticDB for PostgreSQL adalah database heterogen. Tipe data yang mereka dukung tidak memiliki korespondensi satu-satu. Kami menyarankan Anda mengevaluasi dampak konversi tipe data terhadap bisnis Anda. Untuk informasi lebih lanjut, lihat Pemetaan Tipe Data untuk Sinkronisasi Skema Awal.

  • DTS tidak menyinkronkan data dari tipe-tipe berikut: TIMESTAMP, CURSOR, ROWVERSION, HIERARCHYID, SQL_VARIANT, SPATIAL GEOMETRY, SPATIAL GEOGRAPHY, dan TABLE.

Penagihan

Jenis SinkronisasiBiaya Konfigurasi Tugas
Sinkronisasi skema dan data penuhGratis.
Sinkronisasi data inkrementalDikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.

Operasi SQL yang dapat disinkronkan

  • Operasi DDL: ADD COLUMN

    Catatan

    DTS tidak memigrasikan operasi DDL transaksional.

  • Operasi DML: INSERT, UPDATE, dan DELETE

Izin yang diperlukan untuk akun database

Database

Izin yang Diperlukan

Metode Otorisasi

Instance ApsaraDB RDS for SQL Server

Izin pemilik database sumber

Ubah izin sebuah akun

Instance AnalyticDB for PostgreSQL

  • Izin LOGIN

  • Izin SELECT, CREATE, INSERT, UPDATE, dan DELETE pada tabel tujuan

  • Izin CONNECT dan CREATE pada database tujuan

  • Izin CREATE pada skema tujuan

  • Izin COPY (izin untuk melakukan operasi salin berbasis memori)

Catatan

Anda dapat menggunakan akun awal dari instance AnalyticDB for PostgreSQL.

Kelola pengguna dan izin

Prosedur

  1. Beli instance sinkronisasi data. Untuk informasi lebih lanjut, lihat Beli Instance DTS.

    Catatan

    Di halaman pembelian, atur parameter Instance Sumber ke SQL Server, parameter Instance Tujuan ke AnalyticDB for PostgreSQL, dan parameter Topologi Sinkronisasi ke One-way Synchronization.

  2. Masuk ke Konsol DTS.

  3. Di panel navigasi di sebelah kiri, klik Data Synchronization.

  4. Di bagian atas halaman Synchronization Tasks, pilih wilayah tempat instance tujuan berada.

  5. Temukan instance sinkronisasi data dan klik Configure Synchronization Channel di kolom Tindakan.

  6. Konfigurasikan instance sumber dan tujuan.

    Configure the source and destination instances

    Bidang

    Parameter

    Deskripsi

    Tidak Ada

    Nama Tugas Sinkronisasi

    Nama tugas yang secara otomatis dibuat oleh DTS. Kami menyarankan Anda menentukan nama deskriptif yang memudahkan identifikasi tugas. Anda tidak perlu menggunakan nama tugas unik.

    Detail Instance Sumber

    Tipe Instance

    Tipe instance dari instance sumber. Pilih RDS Instance.

    Wilayah Instance

    Wilayah sumber yang Anda pilih di halaman pembelian. Anda tidak dapat mengubah nilai parameter ini.

    ID Instance

    ID instance ApsaraDB RDS for SQL Server sumber.

    Akun Database

    Akun database dari instance ApsaraDB RDS for SQL Server. Untuk informasi tentang izin yang diperlukan untuk akun tersebut, lihat Izin yang diperlukan untuk akun database.

    Kata Sandi Database

    Kata sandi akun database.

    Enkripsi

    Menentukan apakah akan mengenkripsi koneksi ke instance sumber. Pilih Non-encrypted atau SSL-encrypted. Jika Anda ingin memilih SSL-encrypted, Anda harus mengaktifkan enkripsi SSL untuk instance ApsaraDB RDS for SQL Server sebelum mengonfigurasi tugas sinkronisasi data. Untuk informasi lebih lanjut, lihat Konfigurasikan fitur enkripsi SSL.

    Catatan

    Parameter Encryption hanya tersedia untuk wilayah di daratan Tiongkok dan wilayah China (Hong Kong).

    Detail Instance Tujuan

    Tipe Instance

    Nilai parameter ini tetap AnalyticDB for PostgreSQL.

    Wilayah Instance

    Wilayah tujuan yang Anda pilih di halaman pembelian. Anda tidak dapat mengubah nilai parameter ini.

    ID Instance

    ID instance AnalyticDB for PostgreSQL tujuan.

    Nama Database

    Nama database tujuan.

    Akun Database

    Akun database dari instance AnalyticDB for PostgreSQL tujuan. Untuk informasi tentang izin yang diperlukan untuk akun tersebut, lihat Izin yang diperlukan untuk akun database.

    Kata Sandi Database

    Kata sandi akun database.

  7. Di pojok kanan bawah halaman, klik Set Whitelist and Next.

    Jika database sumber atau tujuan adalah instance database Alibaba Cloud, seperti instance ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB, DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih alamat IP instance tersebut. Jika database sumber atau tujuan adalah database mandiri yang di-hosting pada instance Elastic Compute Service (ECS), DTS secara otomatis menambahkan blok CIDR server DTS ke aturan grup keamanan instance ECS, dan Anda harus memastikan bahwa instance ECS dapat mengakses database. Jika database mandiri di-hosting pada beberapa instance ECS, Anda harus secara manual menambahkan blok CIDR server DTS ke aturan grup keamanan setiap instance ECS. Jika database sumber atau tujuan adalah database mandiri yang ditempatkan di pusat data atau disediakan oleh penyedia layanan cloud pihak ketiga, Anda harus secara manual menambahkan blok CIDR server DTS ke daftar putih alamat IP database untuk mengizinkan DTS mengakses database. Untuk informasi lebih lanjut, lihat Tambahkan Blok CIDR Server DTS.

    Peringatan

    Jika blok CIDR server DTS ditambahkan secara otomatis atau manual ke daftar putih database atau instance, atau ke aturan grup keamanan ECS, risiko keamanan mungkin timbul. Oleh karena itu, sebelum menggunakan DTS untuk menyinkronkan data, Anda harus memahami dan mengakui potensi risiko serta mengambil langkah-langkah pencegahan, termasuk namun tidak terbatas pada langkah-langkah berikut: meningkatkan keamanan nama pengguna dan kata sandi, membatasi port yang diekspos, mengotentikasi panggilan API, secara berkala memeriksa daftar putih atau aturan grup keamanan ECS dan melarang blok CIDR yang tidak sah, atau menghubungkan database ke DTS dengan menggunakan Express Connect, VPN Gateway, atau Smart Access Gateway.

  8. Pilih kebijakan sinkronisasi dan objek yang akan disinkronkan.

    Select the synchronization policy and the objects to be synchronized

    Pengaturan

    Deskripsi

    Inisialisasi Sinkronisasi

    Initial Schema Synchronization, Initial Full Data Synchronization, dan Initial Incremental Data Synchronization dipilih secara default. Setelah pra-pemeriksaan selesai, DTS menyinkronkan skema dan data objek dari instance sumber ke instance tujuan. Skema dan data ini merupakan dasar untuk sinkronisasi inkremental selanjutnya.

    Mode Pemrosesan Tabel Tujuan yang Sudah Ada

    • Pre-check and Intercept: memeriksa apakah database tujuan mengandung tabel yang memiliki nama sama dengan tabel di database sumber. Jika database tujuan tidak mengandung tabel yang memiliki nama sama dengan tabel di database sumber, pra-pemeriksaan berhasil. Jika tidak, kesalahan dikembalikan selama pra-pemeriksaan dan tugas sinkronisasi data tidak dapat dimulai.

      Catatan

      Jika database sumber dan tujuan mengandung nama tabel yang identik dan tabel di database tujuan tidak dapat dihapus atau diganti namanya, Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama tabel yang disinkronkan ke database tujuan. Untuk informasi lebih lanjut, lihat Ganti Nama Objek yang Akan Disinkronkan.

    • Ignore Errors and Proceed: melewati pra-pemeriksaan untuk nama tabel identik di database sumber dan tujuan.

      Peringatan

      Jika Anda memilih Ignore Errors and Proceed, ketidaksesuaian data mungkin terjadi dan bisnis Anda mungkin terpapar risiko potensial.

      • Jika database sumber dan tujuan memiliki skema yang sama, DTS tidak menyinkronkan catatan data yang memiliki kunci utama yang sama dengan catatan data di database tujuan.

      • Jika database sumber dan tujuan memiliki skema yang berbeda, sinkronisasi data awal mungkin gagal. Dalam hal ini, hanya sebagian kolom yang disinkronkan, atau tugas sinkronisasi data gagal.

    Gabungkan Beberapa Tabel

    • Yes: Dalam skenario pemrosesan transaksi online (OLTP), sharding diimplementasikan untuk mempercepat respons terhadap tabel bisnis. Namun, AnalyticDB for PostgreSQL memungkinkan Anda menyimpan sejumlah besar data dalam satu tabel dan membuat query SQL Anda lebih efisien. Anda dapat menggabungkan beberapa tabel sumber yang memiliki skema yang sama ke dalam satu tabel tujuan. Fitur ini memungkinkan Anda menyinkronkan data dari beberapa tabel di database sumber ke satu tabel di AnalyticDB for PostgreSQL.

      Catatan
      • Setelah Anda memilih beberapa tabel dari database sumber, Anda harus mengubah nama tabel-tabel ini menjadi nama tabel tujuan di AnalyticDB for PostgreSQL. Untuk melakukannya, Anda dapat menggunakan fitur pemetaan nama objek. Untuk informasi lebih lanjut tentang cara menggunakan fitur ini, lihat Ganti Nama Objek yang Akan Disinkronkan.

      • Anda harus menambahkan kolom bernama __dts_data_source ke tabel tujuan di AnalyticDB for PostgreSQL. Kolom ini digunakan untuk mencatat sumber data. Tipe data kolom ini adalah TEXT. DTS menulis nilai kolom dalam format berikut: <ID instance sinkronisasi data>:<Nama database sumber>.<Nama skema sumber>.<Nama tabel sumber>. Nilai kolom semacam itu memungkinkan DTS mengidentifikasi setiap tabel sumber. Sebagai contoh, dts********:dtstestdata.testschema.customer1 menunjukkan bahwa tabel sumber adalah customer1.

      • Jika Anda mengatur parameter ini ke Ya, semua tabel sumber yang dipilih dalam tugas digabungkan ke dalam tabel tujuan. Jika Anda tidak perlu menggabungkan tabel sumber tertentu, Anda dapat membuat tugas sinkronisasi data terpisah untuk tabel-tabel tersebut.

    • No: nilai default.

    Pilih jenis operasi

    Pilih jenis operasi yang ingin Anda sinkronkan berdasarkan kebutuhan bisnis Anda. Semua jenis operasi dipilih secara default.

    Pilih objek yang akan disinkronkan

    Pilih satu atau lebih objek dari bagian Available dan klik ikon Rightwards arrow untuk menambahkan objek ke bagian Selected.

    Dalam skenario ini, sinkronisasi data dilakukan antara database heterogen. Oleh karena itu, objek yang disinkronkan adalah tabel, dan objek lain seperti tampilan, pemicu, dan prosedur tersimpan tidak disinkronkan ke database tujuan.

    Catatan
    • Secara default, setelah objek disinkronkan ke instance tujuan, nama objek tetap tidak berubah. Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama objek yang disinkronkan ke instance tujuan. Untuk informasi lebih lanjut, lihat Ganti Nama Objek yang Akan Disinkronkan.

    • Jika Anda mengatur parameter Merge Multi Tables ke Yes, Anda harus mengubah nama tabel yang dipilih menjadi nama tabel tujuan di instance AnalyticDB for PostgreSQL. Untuk melakukannya, Anda dapat menggunakan fitur pemetaan nama objek.

    Tambahkan tanda kutip pada objek tujuan

    Tentukan apakah Anda perlu menambahkan tanda kutip pada nama objek. Jika Anda memilih Yes dan kondisi berikut terpenuhi, DTS menambahkan tanda kutip tunggal (') atau tanda kutip ganda (") pada nama objek selama sinkronisasi skema dan sinkronisasi data inkremental.

    • Lingkungan bisnis database sumber peka terhadap huruf besar-kecil, dan nama database mengandung huruf besar dan kecil.

    • Nama tabel sumber tidak dimulai dengan huruf dan mengandung karakter selain huruf, angka, dan karakter khusus.

      Catatan

      Nama tabel sumber hanya dapat mengandung karakter khusus berikut: garis bawah (_), tanda pagar (#), dan tanda dolar ($).

    • Nama skema, tabel, atau kolom yang ingin Anda sinkronkan adalah kata kunci, kata kunci tercadang, atau karakter tidak valid di database tujuan.

    Catatan

    Jika Anda memilih Ya, setelah DTS menyinkronkan data ke database tujuan, Anda harus menentukan nama objek dalam tanda kutip untuk menanyakan objek tersebut.

    Ganti Nama Database dan Tabel

    Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama objek yang disinkronkan ke instance tujuan. Untuk informasi lebih lanjut, lihat Pemetaan Nama Objek.

    Waktu Ulangi Koneksi Gagal

    Secara default, jika DTS gagal terhubung ke database sumber atau tujuan, DTS akan mencoba lagi dalam waktu 720 menit (12 jam) ke depan. Anda dapat menentukan waktu ulang sesuai kebutuhan Anda. Jika DTS berhasil tersambung kembali ke database sumber dan tujuan dalam waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.

    Catatan

    Saat DTS mencoba ulang koneksi, Anda akan dikenakan biaya untuk instance DTS. Kami menyarankan Anda menentukan waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instance DTS secepat mungkin setelah instance sumber dan tujuan dilepaskan.

  9. Tentukan jenis tabel, kolom kunci utama, dan kunci distribusi dari tabel yang ingin Anda sinkronkan ke instance AnalyticDB for PostgreSQL.

    Specify the table type, primary key column, and distribution key

    Catatan

    Untuk informasi lebih lanjut tentang kolom kunci utama dan kolom distribusi, lihat Kelola Tabel dan Tentukan Distribusi Tabel.

  10. Di pojok kanan bawah halaman, klik Precheck.

    Catatan
    • Sebelum Anda dapat memulai tugas sinkronisasi data, DTS melakukan pra-pemeriksaan. Anda hanya dapat memulai tugas sinkronisasi data setelah tugas lulus pra-pemeriksaan.

    • Jika tugas gagal lulus pra-pemeriksaan, Anda dapat mengklik ikon 提示 di sebelah setiap item yang gagal untuk melihat detailnya.

      • Setelah Anda menyelesaikan masalah berdasarkan detailnya, mulai pra-pemeriksaan baru.

      • Jika Anda tidak perlu menyelesaikan masalah, ignore the failed items dan initiate a new precheck.

  11. Tutup kotak dialog Precheck setelah pesan berikut ditampilkan: The precheck is passed. Kemudian, tugas sinkronisasi data dimulai.

  12. Tunggu hingga sinkronisasi awal selesai dan tugas sinkronisasi data berada dalam status Synchronizing.

    Anda dapat melihat status tugas sinkronisasi data di halaman Synchronization Tasks. View the status of a data synchronization task

FAQ

T: Bagaimana cara menemukan tabel yang disinkronkan ke instance AnalyticDB for PostgreSQL?

A: Selama sinkronisasi skema, DTS menyinkronkan tabel ke database tujuan berdasarkan skema database sumber. Dalam contoh ini, Anda dapat menemukan tabel customer dan Student di skema dbo dari database dtstestdata di instance tujuan, seperti yang ditunjukkan pada gambar berikut. View destination tables in AnalyticDB for PostgreSQL