全部产品
Search
文档中心

Data Transmission Service:Menyinkronkan data dari instance ApsaraDB untuk MongoDB ke instance AnalyticDB untuk PostgreSQL

更新时间:Jul 06, 2025

Data Transmission Service (DTS) memungkinkan Anda menyinkronkan data dari database MongoDB ke instance AnalyticDB untuk PostgreSQL. Topik ini menjelaskan cara menyinkronkan data dari instance replika set ApsaraDB untuk MongoDB ke instance AnalyticDB untuk PostgreSQL menggunakan DTS.

Prasyarat

  • Instance tujuan AnalyticDB untuk PostgreSQL telah dibuat dengan ruang penyimpanan yang tersedia lebih besar daripada total ukuran data di instance sumber ApsaraDB untuk MongoDB. Untuk informasi lebih lanjut tentang cara membuat instance AnalyticDB untuk PostgreSQL, lihat Buat Instance.

    Catatan

    Ruang penyimpanan yang tersedia di database tujuan harus 10% lebih besar daripada total ukuran data di database sumber. Ini adalah prasyarat yang direkomendasikan.

  • Sebuah database, skema, dan tabel dengan kolom kunci utama telah dibuat di instance tujuan AnalyticDB untuk PostgreSQL untuk menerima data. Untuk informasi lebih lanjut, lihat Sintaks SQL.

    Penting
    • Pastikan bahwa tipe data tabel tujuan kompatibel dengan data di instance sumber ApsaraDB untuk MongoDB. Sebagai contoh, jika bidang _id dari instance ApsaraDB untuk MongoDB adalah tipe ObjectId, tipe data dari instance AnalyticDB untuk PostgreSQL harus varchar.

    • Jangan beri nama kolom tabel di instance AnalyticDB untuk PostgreSQL sebagai _id atau _value.

  • Endpoint dari semua node shard telah diperoleh dan nama pengguna serta kata sandi akun yang digunakan untuk masuk ke node shard konsisten jika database sumber adalah instance klaster sharded ApsaraDB untuk MongoDB. Untuk informasi lebih lanjut, lihat Ajukan Endpoint untuk Shard.

Catatan Penggunaan

Kategori

Deskripsi

Batasan pada database sumber

  • Persyaratan bandwidth: Server tempat database sumber ditempatkan harus memiliki bandwidth keluar yang cukup. Jika tidak, kecepatan sinkronisasi data akan terpengaruh.

  • Jika Anda ingin memodifikasi koleksi di database tujuan, seperti mengonfigurasi pemetaan nama untuk koleksi, Anda dapat menyinkronkan hingga 1.000 koleksi dalam satu tugas sinkronisasi data. Jika Anda menjalankan tugas untuk menyinkronkan lebih dari 1.000 koleksi, kesalahan permintaan akan terjadi. Dalam hal ini, kami sarankan Anda mengonfigurasi beberapa tugas untuk menyinkronkan koleksi atau mengonfigurasi tugas untuk menyinkronkan seluruh database.

  • Jika database sumber adalah instance ApsaraDB untuk MongoDB klaster sharded, bidang _id dalam koleksi yang akan disinkronkan harus unik. Jika tidak, inkonsistensi data mungkin terjadi.

  • Jika database sumber adalah instance ApsaraDB untuk MongoDB klaster sharded, jumlah node Mongos di instance tersebut tidak boleh melebihi 10. Anda juga harus memastikan bahwa instance ApsaraDB untuk MongoDB klaster sharded sumber tidak mengandung dokumen yatim piatu. Jika tidak, inkonsistensi data mungkin terjadi dan tugas mungkin gagal. Untuk informasi lebih lanjut, lihat dokumentasi MongoDB dan bagian Bagaimana cara saya menghapus dokumen yatim piatu dari database MongoDB yang diterapkan dalam arsitektur klaster sharded? dari topik FAQ.

  • Anda tidak dapat menggunakan instance ApsaraDB untuk MongoDB mandiri, Azure Cosmos DB untuk klaster MongoDB, atau klaster elastis Amazon DocumentDB sebagai database sumber.

  • Fitur oplog harus diaktifkan untuk database sumber dan harus menyimpan data log setidaknya selama tujuh hari. Atau, aliran perubahan harus diaktifkan untuk memastikan bahwa DTS dapat berlangganan perubahan data di database sumber dalam tujuh hari terakhir. Jika tidak, DTS mungkin gagal mendapatkan perubahan data di database sumber dan sinkronisasi data gagal. Dalam beberapa keadaan, inkonsistensi data atau kehilangan data mungkin terjadi. Masalah yang timbul dalam keadaan seperti itu tidak dicakup oleh perjanjian tingkat layanan (SLA) DTS.

    Penting
    • Kami sarankan Anda menggunakan oplog untuk mencatat perubahan data di database sumber.

    • Hanya MongoDB 4.0 dan versi lebih baru yang memungkinkan Anda menggunakan aliran perubahan untuk mendapatkan perubahan data di database sumber. Sinkronisasi dua arah tidak didukung saat Anda menggunakan aliran perubahan untuk mendapatkan perubahan data di database sumber.

    • Jika database sumber merupakan kluster Amazon DocumentDB non-elastis, Anda harus mengaktifkan aliran perubahan serta menyetel parameter Migration Method ke ChangeStream dan parameter Architecture ke Sharded Cluster.

  • Batasan pada operasi yang akan dilakukan pada database sumber:

    • Selama sinkronisasi data penuh, jangan ubah skema database atau koleksi atau data tipe ARRAY. Jika tidak, tugas sinkronisasi data gagal, atau inkonsistensi data terjadi antara database sumber dan tujuan.

    • Jika Anda hanya melakukan sinkronisasi data penuh, jangan tulis data ke database sumber selama sinkronisasi data. Jika tidak, inkonsistensi data terjadi antara database sumber dan tujuan.

    • Jika instance MongoDB sumber menggunakan arsitektur klaster sharded, jangan jalankan perintah yang mengubah distribusi data objek yang akan disinkronkan selama tugas sinkronisasi. Perintah-perintah ini termasuk shardCollection, reshardCollection, unshardCollection, moveCollection, dan movePrimary. Jika tidak, inkonsistensi data mungkin terjadi.

  • Jika database sumber adalah instance MongoDB yang menggunakan arsitektur klaster sharded dan balancer dari database sumber menyeimbangkan data, latensi mungkin terjadi di instance.

  • DTS tidak dapat terhubung ke database MongoDB melalui endpoint SRV.

Batasan lainnya

  • Anda hanya dapat memilih koleksi sebagai objek yang akan disinkronkan.

  • Tabel untuk menerima data di instance tujuan AnalyticDB untuk PostgreSQL harus memiliki kolom kunci utama unik bukan kunci utama komposit, dan nilai bson_value("_id") harus ditetapkan ke kolom kunci utama di bagian Selected Objects.

  • Tabel untuk menerima data di instance tujuan AnalyticDB untuk PostgreSQL tidak dapat berisi bidang bernama _id atau _value. Jika tidak, sinkronisasi data gagal.

  • Jika tipe data instance tujuan AnalyticDB untuk PostgreSQL tidak kompatibel dengan data di instance sumber ApsaraDB untuk MongoDB, tugas sinkronisasi data gagal.

  • DTS tidak dapat menyinkronkan data dari database admin atau local.

  • Tabel tujuan tidak bisa menjadi tabel append-optimized (AO).

  • Informasi transaksi tidak dipertahankan. Saat transaksi disinkronkan ke database tujuan, transaksi dikonversi menjadi catatan tunggal.

  • Sebelum Anda menyinkronkan data, evaluasi dampak sinkronisasi data pada kinerja database sumber dan tujuan. Kami sarankan Anda menyinkronkan data selama jam-jam sepi. Selama sinkronisasi data penuh, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan. Hal ini dapat meningkatkan beban pada server database.

  • Selama sinkronisasi data penuh, operasi INSERT bersamaan menyebabkan fragmentasi dalam koleksi database tujuan. Setelah sinkronisasi data penuh selesai, penggunaan penyimpanan koleksi di database tujuan lebih besar daripada koleksi di database sumber.

  • Pastikan pengaturan presisi untuk kolom tipe FLOAT atau DOUBLE memenuhi persyaratan bisnis Anda. DTS menggunakan fungsi ROUND(COLUMN,PRECISION) untuk mengambil nilai dari kolom tipe FLOAT atau DOUBLE. Jika Anda tidak menentukan presisi, DTS menetapkan presisi untuk kolom tipe FLOAT menjadi 38 digit dan presisi untuk kolom tipe DOUBLE menjadi 308 digit.

  • DTS mencoba melanjutkan tugas sinkronisasi data yang gagal dalam tujuh hari terakhir. Sebelum Anda beralih beban kerja Anda ke database tujuan, Anda harus menghentikan atau melepaskan tugas yang gagal. Anda juga dapat mengeksekusi pernyataan REVOKE untuk mencabut izin tulis dari akun yang digunakan oleh DTS untuk mengakses database tujuan. Jika tidak, data di database sumber akan menimpa data di instance tujuan setelah tugas dilanjutkan secara otomatis.

  • DTS menghitung latensi sinkronisasi data tambahan berdasarkan timestamp data terbaru yang disinkronkan di database tujuan dan timestamp saat ini di database sumber. Jika tidak ada operasi pembaruan yang dilakukan pada database sumber untuk periode waktu yang lama, latensi sinkronisasi mungkin tidak akurat. Jika latensi tugas sinkronisasi data terlalu tinggi, Anda dapat melakukan operasi pembaruan pada database sumber untuk memperbarui latensi.

  • Jika instance gagal berjalan, staf dukungan teknis DTS akan mencoba memulihkan instance dalam 8 jam. Selama proses pemulihan, instance mungkin di-restart atau parameter mungkin disesuaikan.

    Catatan

    Saat parameter disesuaikan, hanya parameter instance DTS yang dimodifikasi. Parameter database tidak dimodifikasi. Parameter yang mungkin dimodifikasi termasuk tetapi tidak terbatas pada parameter dalam Ubah parameter instance.

Penagihan

Jenis Sinkronisasi

Biaya Konfigurasi Tugas

Sinkronisasi Data Penuh

Gratis.

Sinkronisasi Data Tambahan

Dikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.

Jenis Sinkronisasi

Jenis Sinkronisasi

Deskripsi

Sinkronisasi Data Penuh

DTS menyinkronkan data historis objek yang dipilih dari instance sumber ApsaraDB untuk MongoDB ke instance tujuan AnalyticDB untuk PostgreSQL.

Sinkronisasi Data Tambahan

Setelah sinkronisasi data penuh selesai, DTS menyinkronkan data tambahan dari instance sumber ApsaraDB untuk MongoDB ke instance tujuan AnalyticDB untuk PostgreSQL.

Catatan
  • Hanya operasi yang dilakukan untuk menyisipkan, memperbarui, atau menghapus dokumen dalam koleksi yang dapat disinkronkan selama sinkronisasi data tambahan

  • Saat tugas DTS menyinkronkan data tambahan file, hanya perintah $set yang dapat dijalankan secara sinkron.

Izin yang Diperlukan untuk Akun Database

Database

Izin yang Diperlukan

Referensi

Instance Sumber MongoDB

Izin baca pada database sumber, admin, dan local.

Kelola izin pengguna database MongoDB

Instance Tujuan AnalyticDB untuk PostgreSQL

Izin baca dan tulis pada database tujuan

Buat dan kelola akun database dan Kelola pengguna dan izin

Catatan

Anda dapat menggunakan akun awal atau akun yang memiliki izin RDS_SUPERUSER.

Prosedur

  1. Gunakan salah satu metode berikut untuk pergi ke halaman Sinkronisasi Data dan pilih wilayah tempat instance sinkronisasi data berada.

    Konsol DTS

    1. Masuk ke Konsol DTS.

    2. Di bilah navigasi di sebelah kiri, klik Data Synchronization.

    3. Di sudut kiri atas halaman, pilih wilayah tempat tugas sinkronisasi data berada.

    Konsol DMS

    Catatan

    Operasi aktual mungkin berbeda berdasarkan mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, lihat Mode Sederhana dan Sesuaikan Tata Letak dan Gaya Konsol DMS.

    1. Masuk ke Konsol DMS.

    2. Di bilah navigasi atas, gerakkan penunjuk mouse ke Data + AI dan pilih DTS (DTS) > Data Synchronization.

    3. Dari daftar drop-down di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instance sinkronisasi data berada.

  2. Klik Create Task untuk pergi ke halaman konfigurasi tugas.

  3. Konfigurasikan database sumber dan tujuan. Tabel berikut menjelaskan parameter.

    Bagian

    Parameter

    Deskripsi

    N/A

    Task Name

    Nama tugas DTS. DTS secara otomatis menghasilkan nama tugas. Kami sarankan Anda menentukan nama deskriptif yang memudahkan identifikasi tugas. Anda tidak perlu menentukan nama tugas yang unik.

    Source Database

    Select Existing Connection

    • Jika Anda menggunakan instance database yang terdaftar dengan DTS, pilih instance dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instance tersebut. Untuk informasi lebih lanjut, lihat Kelola koneksi database.

      Catatan

      Di Konsol DMS, Anda dapat memilih instance database dari daftar drop-down Select a DMS database instance.

    • Jika Anda gagal mendaftarkan instance dengan DTS, atau Anda tidak perlu menggunakan instance yang terdaftar dengan DTS, Anda harus mengonfigurasi informasi database berikut.

    Database Type

    Jenis database sumber. Pilih MongoDB.

    Access Method

    Metode akses database sumber. Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah tempat instance ApsaraDB untuk MongoDB sumber berada.

    Replicate Data Across Alibaba Cloud Accounts

    Dalam contoh ini, database dari akun Alibaba Cloud saat ini digunakan. Pilih No.

    Architecture

    Arsitektur tempat instance sumber diterapkan. Dalam contoh ini, Replica Set dipilih.

    Catatan

    Jika instance ApsaraDB untuk MongoDB sumber diterapkan dalam arsitektur Sharded Cluster, Anda harus mengonfigurasi parameter Shard account dan Shard password.

    Migration Method

    Metode yang digunakan untuk menyinkronkan data tambahan dari database sumber. Pilih metode berdasarkan kebutuhan bisnis Anda. Nilai valid:

    • Oplog (direkomendasikan):

      Opsi ini tersedia jika fitur oplog diaktifkan untuk database sumber.

      Catatan

      Secara default, fitur oplog diaktifkan baik untuk database MongoDB mandiri maupun instance ApsaraDB untuk MongoDB. Fitur ini memungkinkan Anda menyinkronkan data tambahan dengan latensi rendah karena kecepatan penarikan log yang cepat. Oleh karena itu, kami sarankan Anda memilih Oplog untuk parameter Metode Migrasi.

    • ChangeStream:

      Opsi ini tersedia jika aliran perubahan diaktifkan untuk database sumber. Untuk informasi lebih lanjut, lihat Change Streams.

      Catatan
      • Jika database sumber adalah klaster inelastis Amazon DocumentDB, Anda hanya dapat menetapkan parameter Metode Migrasi ke ChangeStream.

      • Jika Anda memilih Sharded Cluster untuk parameter Architecture, Anda tidak perlu mengonfigurasi parameter Shard account dan Shard password.

    Instance ID

    ID instance ApsaraDB untuk MongoDB sumber.

    Authentication Database

    Nama database otentikasi yang menyimpan akun dan kata sandi database instance ApsaraDB untuk MongoDB sumber. Jika Anda tidak mengubah nama sebelumnya, nilai default admin digunakan.

    Database Account

    Akun database instance ApsaraDB untuk MongoDB sumber. Untuk informasi lebih lanjut tentang izin yang diperlukan untuk akun tersebut, lihat bagian Izin yang Diperlukan untuk Akun Database dari topik ini.

    Database Password

    Kata sandi yang digunakan untuk mengakses database.

    Encryption

    Menentukan apakah akan mengenkripsi koneksi ke database sumber. Anda dapat memilih Non-encrypted, SSL-encrypted, atau Mongo Atlas SSL berdasarkan kebutuhan bisnis Anda. Opsi yang tersedia untuk parameter Encryption ditentukan oleh nilai yang dipilih untuk parameter Access Method dan Architecture. Opsi yang ditampilkan di Konsol DTS berlaku.

    Catatan
    • Jika parameter Architecture disetel ke Sharded Cluster, dan parameter Migration Method disetel ke Oplog untuk database ApsaraDB untuk MongoDB, parameter Enkripsi SSL-encrypted tidak tersedia.

    • Jika database sumber adalah database MongoDB mandiri yang menggunakan arsitektur Replica Set, parameter Access Method tidak disetel ke Alibaba Cloud Instance, dan parameter Enkripsi disetel ke SSL-encrypted, Anda dapat mengunggah sertifikat otoritas sertifikasi (CA) untuk memverifikasi koneksi ke database sumber.

    Destination Database

    Select Existing Connection

    • Jika Anda menggunakan instance database yang terdaftar dengan DTS, pilih instance dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instance tersebut. Untuk informasi lebih lanjut, lihat Kelola koneksi database.

      Catatan

      Di Konsol DMS, Anda dapat memilih instance database dari daftar drop-down Select a DMS database instance.

    • Jika Anda gagal mendaftarkan instance dengan DTS, atau Anda tidak perlu menggunakan instance yang terdaftar dengan DTS, Anda harus mengonfigurasi informasi database berikut.

    Database Type

    Jenis database tujuan. Pilih AnalyticDB for PostgreSQL.

    Access Method

    Metode akses database tujuan. Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah tempat instance tujuan AnalyticDB untuk PostgreSQL berada.

    Instance ID

    ID instance tujuan AnalyticDB untuk PostgreSQL.

    Database Name

    Nama database yang digunakan untuk menerima objek yang disinkronkan di instance tujuan AnalyticDB untuk PostgreSQL.

    Database Account

    Akun database instance tujuan AnalyticDB untuk PostgreSQL. Untuk informasi tentang izin yang diperlukan untuk akun tersebut, lihat bagian Izin yang Diperlukan untuk Akun Database dari topik ini.

    Database Password

    Kata sandi yang digunakan untuk mengakses database.

  4. Klik Test Connectivity and Proceed di bagian bawah halaman.

    Catatan
    • Pastikan blok CIDR server DTS dapat ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi lebih lanjut, lihat Tambahkan Blok CIDR Server DTS.

    • Jika database sumber atau tujuan adalah database mandiri dan parameter Access Method tidak disetel ke Alibaba Cloud Instance, klik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

  5. Konfigurasikan objek yang akan disinkronkan.

    1. Di langkah Configure Objects, konfigurasikan objek yang ingin Anda sinkronkan.

      Parameter

      Deskripsi

      Synchronization Types

      Secara default, Incremental Data Synchronization dipilih. Anda hanya dapat memilih Full Data Synchronization. Anda tidak dapat memilih Schema Synchronization. Setelah pra-pemeriksaan selesai, DTS menyinkronkan data historis objek yang dipilih dari database sumber ke database tujuan. Data historis menjadi dasar untuk sinkronisasi tambahan selanjutnya.

      DDL and DML Operations to Be Synchronized

      Pilih operasi DDL dan DML yang ingin Anda sinkronkan di tingkat instance selama sinkronisasi data tambahan.

      Catatan

      Untuk menyinkronkan operasi DDL dan DML di tingkat koleksi selama sinkronisasi data tambahan, klik kanan koleksi di bagian Selected Objects. Di kotak dialog yang muncul, pilih operasi yang ingin Anda sinkronkan.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: memeriksa apakah database tujuan berisi tabel yang memiliki nama sama dengan tabel di database sumber. Jika database sumber dan tujuan tidak berisi tabel dengan nama identik, pra-pemeriksaan berhasil. Jika tidak, kesalahan akan dikembalikan selama pra-pemeriksaan, dan tugas sinkronisasi data tidak dapat dimulai.

        Catatan

        Jika database sumber dan tujuan berisi tabel dengan nama identik dan tabel di database tujuan tidak dapat dihapus atau diubah namanya, Anda dapat menggunakan fitur pemetaan nama objek untuk mengubah nama tabel yang disinkronkan ke database tujuan. Untuk informasi lebih lanjut, lihat Pemetaan Nama Objek.

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

        Peringatan

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

        • Jika database sumber dan tujuan memiliki skema yang sama dan catatan data di database tujuan memiliki nilai kunci utama atau nilai kunci unik yang sama dengan catatan data di database sumber:

          • Selama sinkronisasi data penuh, DTS tidak menyinkronkan catatan data ke database tujuan. Catatan data yang ada di database tujuan dipertahankan.

          • Selama sinkronisasi data tambahan, DTS menyinkronkan catatan data ke database tujuan. Catatan data yang ada di database tujuan ditimpa.

        • Jika database sumber dan tujuan memiliki skema yang berbeda, data mungkin gagal diinisialisasi. Dalam hal ini, hanya beberapa kolom yang disinkronkan, atau instance sinkronisasi data gagal. Lanjutkan dengan hati-hati.

      Source Objects

      Pilih satu atau lebih objek dari bagian Source Objects dan klik ikon 向右 untuk menambahkan objek ke bagian Selected Objects.

      Catatan

      Anda dapat memilih koleksi sebagai objek yang akan disinkronkan.

      Selected Objects

      1. Ubah nama database.

        1. Di bagian Selected Objects, klik kanan database tempat koleksi yang akan disinkronkan milik.

          image

        2. Ubah nilai Database Name menjadi nama skema yang digunakan untuk menerima data di instance tujuan AnalyticDB untuk PostgreSQL.

          image

        3. Opsional. Di bagian Select DDL and DML Operations to Be Synchronized, pilih operasi yang ingin Anda sinkronkan selama sinkronisasi data tambahan.image

        4. Klik OK.

      2. Ubah nama tabel.

        1. Di bagian Selected Objects, klik kanan koleksi.

          image

        2. Ubah nilai Table Name menjadi nama tabel yang digunakan untuk menerima data di instance tujuan AnalyticDB untuk PostgreSQL.image

        3. Opsional. Anda dapat menentukan kondisi untuk memfilter data. Untuk informasi lebih lanjut, lihat Tentukan kondisi filter.image

        4. Opsional. Di bagian Select DDL and DML Operations to Be Synchronized, pilih operasi yang ingin Anda sinkronkan selama sinkronisasi data tambahan.image

      3. Tentukan bidang yang akan disinkronkan dari instance sumber ApsaraDB untuk MongoDB.

        Secara default, DTS memetakan data koleksi yang akan disinkronkan dan mengonfigurasi ekspresi di kolom Assign Value. Anda harus memeriksa apakah ekspresi tersebut memenuhi kebutuhan Anda dan menentukan parameter Column Name, Type, Length, dan Precision.

        1. Dalam ekspresi bson_value() di kolom Assign Value, lihat nama bidang baris data di instance ApsaraDB untuk MongoDB.

          Bidang dalam "" adalah nama bidang di instance ApsaraDB untuk MongoDB. Sebagai contoh, jika ekspresinya adalah bson_value("age"), age adalah nama bidang baris data di instance ApsaraDB untuk MongoDB.

        2. Opsional: Anda dapat menghapus bidang yang tidak perlu disinkronkan.

          Catatan

          Klik ikon image setelah baris data untuk menghapus bidang yang tidak perlu disinkronkan.

        3. Tentukan bidang yang akan disinkronkan.

          Lakukan salah satu prosedur berikut berdasarkan apakah ekspresi bson_value() memenuhi persyaratan Anda.

          Ekspresi memenuhi persyaratan bidang

          1. Konfigurasikan parameter Column Name.

            Catatan

            Masukkan nama kolom di tabel yang digunakan untuk menerima data di instance tujuan AnalyticDB untuk PostgreSQL.

          2. Pilih tipe data Type untuk setiap kolom.

            Penting

            Pastikan bahwa tipe data tabel tujuan kompatibel dengan data di instance sumber ApsaraDB untuk MongoDB.

          3. Opsional: Tentukan panjang data length dan precision untuk setiap kolom.

          4. Ulangi langkah-langkah sebelumnya untuk memetakan kolom tabel sumber ke kolom tabel tujuan.

          Ekspresi tidak memenuhi persyaratan bidang

          Catatan

          Sebagai contoh, bidang dengan hubungan hierarkis seperti struktur induk-anak.

          1. Di kolom Actions, klik ikon image setelah baris data tersebut.

          2. Klik + Add Column.image

          3. Konfigurasikan parameter Column Name, Type, Length, dan Precision.

          4. Masukkan ekspresi bson_value() di bidang Assign Value. Untuk informasi lebih lanjut, lihat bagian Contoh Penetapan Nilai dari topik ini.

            Penting
            • Anda harus menetapkan bson_value("_id") ke kolom kunci utama tabel tujuan.

            • Anda harus menentukan bidang dan sub-bidang setiap kolom dalam ekspresi bson_value() yang sesuai berdasarkan hubungan hierarkis. Jika tidak, kehilangan data mungkin terjadi atau tugas mungkin gagal.

          5. Ulangi langkah-langkah sebelumnya untuk memetakan kolom tabel sumber ke kolom tabel tujuan.

      4. Klik OK.

    2. Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan.

      Parameter

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas ke klaster bersama jika Anda tidak menentukan klaster khusus. Jika Anda ingin meningkatkan stabilitas instance sinkronisasi data, belilah klaster khusus. Untuk informasi lebih lanjut, lihat Apa itu Klaster Khusus DTS.

      Retry Time for Failed Connections

      Rentang waktu ulang untuk koneksi gagal. Jika basis data sumber atau tujuan gagal terhubung setelah tugas sinkronisasi data dimulai, DTS segera mencoba menghubungkan kembali dalam rentang waktu tersebut. Nilai valid: 10 hingga 1.440. Unit: menit. Nilai default: 720. Kami menyarankan Anda menetapkan parameter ini dengan nilai lebih dari 30. Jika DTS berhasil menyambungkan kembali ke basis data sumber dan tujuan dalam rentang waktu yang ditentukan, DTS akan melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.

      Catatan
      • Jika Anda menentukan rentang waktu ulang berbeda untuk beberapa tugas sinkronisasi data yang memiliki basis data sumber atau tujuan yang sama, rentang waktu ulang terpendek yang diutamakan.

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

      Retry Time for Other Issues

      Rentang waktu ulang untuk masalah lainnya. Sebagai contoh, jika operasi DDL atau DML gagal dilakukan setelah tugas sinkronisasi data dimulai, DTS segera mencoba melakukan operasi tersebut kembali dalam rentang waktu tersebut. Nilai valid: 1 hingga 1.440. Unit: menit. Nilai default: 10. Kami menyarankan Anda menetapkan parameter ini dengan nilai lebih dari 10. Jika operasi gagal berhasil dilakukan dalam rentang waktu yang ditentukan, DTS akan melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.

      Penting

      Nilai parameter Retry Time for Other Issues harus lebih kecil daripada nilai parameter Retry Time for Failed Connections.

      Enable Throttling for Full Data Synchronization

      Selama sinkronisasi data penuh, DTS menggunakan sumber daya baca dan tulis dari basis data sumber dan tujuan. Hal ini dapat meningkatkan beban pada server basis data. Anda dapat mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk tugas sinkronisasi data penuh guna mengurangi beban pada server basis data tujuan.

      Catatan

      Anda hanya dapat mengonfigurasi parameter ini jika Full Data Synchronization dipilih untuk parameter Synchronization Types.

      Only one data type for primary key _id in a table of the data to be synchronized

      Apakah tipe data untuk kunci utama _id dalam koleksi data yang akan disinkronkan unik. Nilai valid:

      Catatan
      • Tentukan parameter ini berdasarkan kebutuhan bisnis Anda. Jika tidak, data mungkin hilang.

      • Parameter ini hanya ditampilkan jika Full Data Synchronization dipilih untuk parameter Synchronization Types.

      • Yes: Tipe data unik. Selama sinkronisasi data penuh, DTS tidak memindai tipe data untuk kunci utama _id dari data yang akan disinkronkan dari basis data sumber. DTS hanya mensinkronkan data kunci utama untuk satu tipe data dalam satu koleksi.

      • No: Tipe data tidak unik. Selama sinkronisasi data penuh, DTS memindai tipe data untuk kunci utama _id dari data yang akan disinkronkan dari basis data sumber dan mensinkronkan semua data yang akan disinkronkan.

      Enable Throttling for Incremental Data Synchronization

      Menentukan apakah akan mengaktifkan pembatasan untuk sinkronisasi data inkremental. Anda dapat mengaktifkan pembatasan untuk sinkronisasi data inkremental berdasarkan kebutuhan bisnis Anda. Untuk mengonfigurasi pembatasan, Anda harus mengonfigurasi parameter RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s). Ini mengurangi beban pada server basis data tujuan.

      Environment Tag

      Tag lingkungan yang digunakan untuk mengidentifikasi instance DTS. Anda dapat memilih tag lingkungan berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, Anda tidak perlu mengonfigurasi parameter ini.

      Configure ETL

      Menentukan apakah akan mengaktifkan fitur ekstraksi, transformasi, dan pemuatan (ETL). Untuk informasi lebih lanjut, lihat Apa itu ETL? Nilai valid:

      Monitoring and Alerting

      Menentukan apakah akan mengonfigurasi peringatan untuk instance sinkronisasi data. Jika tugas gagal atau latensi sinkronisasi melebihi ambang batas yang ditentukan, kontak peringatan akan menerima notifikasi. Nilai valid:

      • No: Tidak mengaktifkan peringatan.

      • Yes: mengonfigurasi peringatan. Dalam hal ini, Anda juga harus mengonfigurasi ambang batas peringatan dan pengaturan notifikasi peringatan. Untuk informasi lebih lanjut, lihat bagian "Konfigurasikan Pemantauan dan Peringatan saat Anda membuat tugas DTS" dari topik Konfigurasikan Pemantauan dan Peringatan.

  6. Simpan pengaturan tugas dan jalankan pra-pemeriksaan.

    • Untuk melihat parameter yang harus ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi tugas DTS, gerakkan penunjuk ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.

    • Jika Anda tidak perlu melihat atau sudah melihat parameter tersebut, klik Next: Save Task Settings and Precheck di bagian bawah halaman.

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

    • Jika tugas sinkronisasi data gagal dalam pra-pemeriksaan, klik View Details di sebelah setiap item yang gagal. Setelah Anda menganalisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut. Lalu, jalankan kembali pra-pemeriksaan.

    • Jika peringatan dipicu untuk suatu item selama pra-pemeriksaan:

      • Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalah tersebut. Lalu, jalankan pra-pemeriksaan lagi.

      • Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog View Details, klik Ignore. Di pesan yang muncul, klik OK. Lalu, klik Precheck Again untuk menjalankan pra-pemeriksaan lagi. Jika Anda mengabaikan item peringatan, ketidaksesuaian data mungkin terjadi, dan bisnis Anda mungkin terpapar risiko potensial.

  7. Beli sebuah instance.

    1. Tunggu hingga Success Rate menjadi 100%. Lalu, klik Next: Purchase Instance.

    2. Di halaman buy, konfigurasikan parameter Billing Method dan Instance Class untuk tugas sinkronisasi data. Tabel berikut menjelaskan parameter tersebut.

      Bagian

      Parameter

      Deskripsi

      New Instance Class

      Metode Penagihan

      • Subscription: Anda membayar langganan saat membuat instance sinkronisasi data. Metode penagihan langganan lebih hemat biaya dibandingkan metode penagihan bayar sesuai pemakaian untuk penggunaan jangka panjang.

      • Pay-as-you-go: Instance bayar sesuai pemakaian ditagih per jam. Metode penagihan bayar sesuai pemakaian cocok untuk penggunaan jangka pendek. Jika Anda tidak lagi memerlukan instance sinkronisasi data bayar sesuai pemakaian, Anda dapat melepaskan instance tersebut untuk mengurangi biaya.

      Pengaturan Grup Sumber Daya

      Grup sumber daya tempat instance sinkronisasi data termasuk. Nilai default: default resource group. Untuk informasi lebih lanjut, lihat Apa itu Resource Management?

      Kelas Instance

      DTS menyediakan kelas instance dengan kecepatan sinkronisasi yang bervariasi. Anda dapat memilih kelas instance berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Kelas instance dari instance sinkronisasi data.

      Durasi Langganan

      Jika Anda memilih metode penagihan langganan, tentukan durasi langganan dan jumlah instance sinkronisasi data yang ingin Anda buat. Durasi langganan bisa satu hingga sembilan bulan, satu tahun, dua tahun, tiga tahun, atau lima tahun.

      Catatan

      Parameter ini hanya tersedia jika Anda memilih metode penagihan Subscription.

    3. Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Klik Buy and Start. Di kotak dialog yang muncul, klik OK.

      Anda dapat melihat kemajuan tugas di daftar tugas.

Contoh Penetapan Nilai

Struktur data instance sumber ApsaraDB untuk MongoDB

{
  "_id":"62cd344c85c1ea6a2a9f****",
  "person":{
    "name":"neo",
    "age":26,
    "sex":"male"
  }
}

Skema tabel tujuan AnalyticDB untuk PostgreSQL instance

Nama kolom

Tipe

mongo_id

varchar

Catatan

Kolom kunci utama.

person_name

varchar

person_age

decimal

Konfigurasi kolom tambahan

Penting

Anda harus menentukan bidang dan sub-bidang setiap kolom dalam ekspresi bson_value() yang sesuai berdasarkan hubungan hierarkis. Jika tidak, kehilangan data mungkin terjadi atau tugas mungkin gagal. Sebagai contoh, jika Anda hanya menentukan bidang person dari kolom sumber menggunakan ekspresi bson_value("person"), DTS tidak dapat menulis data tambahan di sub-bidang bidang person, seperti nama, usia, dan jenis kelamin, ke kolom tujuan.

Nama kolom

Tipe

Nilai

mongo_id

STRING

bson_value("_id")

person_name

STRING

bson_value("person","name")

person_age

DECIMAL

bson_value("person","age")