All Products
Search
Document Center

Data Transmission Service:Sinkronisasi set replika ke set replika atau kluster sharded

Last Updated:Jul 21, 2026

DTS dapat menyinkronkan set replika MongoDB ke set replika lain atau kluster sharded.

Database sumber dan tujuan yang didukung

Bagian ini mencantumkan database sumber dan tujuan yang didukung untuk menyinkronkan data dari set replika MongoDB ke set replika MongoDB atau kluster sharded. Topik ini menjelaskan prosedur konfigurasi menggunakan instans set replika ApsaraDB for MongoDB sebagai sumber dan instans set replika atau kluster sharded ApsaraDB for MongoDB sebagai tujuan. Prosedur untuk sumber data lainnya serupa.

Database sumber

Database tujuan

Instans set replika ApsaraDB for MongoDB

Instans set replika atau kluster sharded ApsaraDB for MongoDB

Set replika MongoDB yang dikelola sendiri pada Instance ECS

Set replika atau kluster sharded MongoDB yang dikelola sendiri pada Instance ECS

Set replika MongoDB yang dikelola sendiri yang terhubung melalui Express Connect, VPN Gateway, atau Smart Access Gateway

Set replika atau kluster sharded MongoDB yang dikelola sendiri yang terhubung melalui Express Connect, VPN Gateway, atau Smart Access Gateway

Prasyarat

  • Anda harus telah membuat instans set replika ApsaraDB for MongoDB sebagai sumber dan instans ApsaraDB for MongoDB (set replika atau kluster sharded) sebagai tujuan. Untuk petunjuknya, lihat Buat instans set replika dan Buat instans kluster sharded.

    Catatan

    Untuk versi yang didukung, lihat Ikhtisar solusi sinkronisasi.

  • Instans ApsaraDB for MongoDB tujuan harus memiliki ruang penyimpanan minimal 10% lebih besar daripada yang digunakan oleh instans ApsaraDB for MongoDB sumber.

  • Jika instans ApsaraDB for MongoDB target adalah kluster sharded, Anda perlu membuat database dan koleksi yang ingin di-shard, mengonfigurasi sharding data, mengaktifkan balancer, dan melakukan pre-sharding pada instans ApsaraDB for MongoDB target sesuai kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Konfigurasi sharding data untuk memaksimalkan kinerja shard dan Cara menangani distribusi data tidak seimbang dalam kluster sharded ApsaraDB for MongoDB.

    Catatan

    Mengonfigurasi sharding data mendistribusikan data yang disinkronkan ke semua shard, sehingga memaksimalkan kinerja kluster. Mengaktifkan balancer dan melakukan pre-sharding membantu mencegah kesenjangan data.

Batasan

Jenis

Deskripsi

Batasan database sumber

  • Persyaratan bandwidth: Server tempat database sumber berada harus memiliki bandwidth outbound yang cukup. Jika tidak, kecepatan sinkronisasi dapat terpengaruh.

  • Koleksi yang akan disinkronkan harus memiliki primary key atau kendala UNIK, dan nilai bidang tersebut harus unik. Jika tidak, data duplikat dapat muncul di database tujuan.

  • Nama bidang dalam data tidak boleh mengandung karakter "." (titik); jika tidak, ketidakkonsistenan data dapat terjadi.

  • Jika Anda melakukan sinkronisasi tingkat koleksi dan perlu mengedit objek (misalnya, mengganti nama koleksi), satu tugas sinkronisasi mendukung hingga 1.000 koleksi. Jika melebihi batas ini, tugas akan gagal dengan error setelah dikirim. Untuk mengatasinya, bagi koleksi menjadi beberapa batch dan konfigurasikan beberapa tugas. Atau konfigurasikan tugas sinkronisasi seluruh database.

  • Satu dokumen dalam database sumber tidak boleh melebihi 16 MB. Jika tidak, tugas akan gagal.

  • Database sumber Anda tidak boleh berupa Azure Cosmos DB for MongoDB atau Amazon DocumentDB (klaster elastis).

  • Database sumber harus mengaktifkan Oplog dan menyimpan Oplog minimal selama tujuh hari. Atau aktifkan Change Streams dan pastikan DTS dapat berlangganan perubahan data dalam tujuh hari terakhir melalui Change Streams. Jika tidak, DTS mungkin gagal menangkap perubahan data, menyebabkan kegagalan tugas. Dalam kasus ekstrem, hal ini dapat menyebabkan ketidakkonsistenan atau kehilangan data. Masalah ini tidak dicakup oleh Perjanjian Tingkat Layanan (SLA) DTS.

    Penting
    • Kami merekomendasikan penggunaan Oplog untuk menangkap perubahan data.

    • Hanya MongoDB 4.0 dan versi lebih baru yang mendukung Change Streams. Change Streams tidak mendukung sinkronisasi dua arah.

    • Jika database sumber Anda adalah Amazon DocumentDB (klaster non-elastis), aktifkan Change Streams secara manual. Saat mengonfigurasi tugas, atur Migration Method ke ChangeStream dan atur Architecture ke Sharded Cluster.

  • Jika koleksi yang akan disinkronkan mengandung indeks TTL, ketidakkonsistenan data atau latensi dapat terjadi.

  • Batasan operasi database sumber:

    • Selama sinkronisasi skema dan sinkronisasi data penuh, jangan mengubah skema database atau koleksi (termasuk pembaruan data bertipe array). Jika tidak, tugas sinkronisasi mungkin gagal atau menyebabkan ketidakkonsistenan data antara database sumber dan tujuan.

    • Jika Anda hanya melakukan sinkronisasi data penuh, jangan menulis data baru ke instans sumber. Jika tidak, ketidakkonsistenan data dapat terjadi antara database sumber dan tujuan.

Batasan lainnya

  • Jika instans tujuan menggunakan arsitektur kluster sharded:

    • Bersihkan dokumen yatim (orphaned documents). Jika tidak, kinerja sinkronisasi dapat terganggu. Jika dokumen dengan nilai _id yang bertentangan muncul selama sinkronisasi, ketidakkonsistenan data atau kegagalan tugas dapat terjadi.

    • Sebelum memulai tugas, tambahkan kunci shard yang digunakan oleh tujuan ke data di sumber. Jika Anda tidak dapat menambahkan kunci shard ke sumber, lihat Sinkronisasi dari MongoDB (tanpa kunci shard) ke MongoDB (arsitektur kluster sharded).

    • Setelah tugas dimulai, pernyataan INSERT untuk data yang disinkronkan harus menyertakan kunci shard. Pernyataan UPDATE tidak boleh mengubah kunci shard.

  • Jika instans tujuan menggunakan arsitektur ReplicaSet:

    • Saat Access Method adalah Express Connect, VPN Gateway, or Smart Access Gateway atau Cloud Enterprise Network (CEN), Anda harus memasukkan alamat dan port node primer untuk Domain Name or IP dan Port Number, atau konfigurasikan alamat koneksi high-availability. Untuk informasi selengkapnya tentang alamat koneksi high-availability, lihat Buat instans dengan database sumber atau tujuan MongoDB high-availability.

    • Saat Access Method adalah Self-managed Database on ECS, masukkan port node primer di Port Number.

  • Kami merekomendasikan menggunakan versi MongoDB yang sama untuk database sumber dan tujuan. Atau gunakan versi yang lebih tinggi untuk tujuan guna memastikan kompatibilitas. Menyinkronkan dari versi yang lebih tinggi ke versi yang lebih rendah dapat menyebabkan masalah kompatibilitas.

  • DTS tidak mendukung koneksi ke database MongoDB menggunakan alamat SRV.

  • DTS tidak mendukung sinkronisasi data dari database admin, config, dan local.

  • Jika koleksi tujuan memiliki indeks unik atau properti capped-nya diatur ke true, replay konkuren tidak didukung selama sinkronisasi inkremental. Hanya penulisan single-threaded yang diizinkan. Hal ini dapat meningkatkan latensi tugas.

  • Informasi transaksi tidak dipertahankan. Transaksi di database sumber menjadi catatan individual di database tujuan.

  • Saat DTS menulis data ke koleksi tujuan, jika terjadi konflik primary key atau unique key, DTS akan melewati pernyataan write dan mempertahankan data yang ada di koleksi tujuan.

  • Jika versi MongoDB sumber Anda lebih awal dari 3.6 dan versi MongoDB tujuan 3.6 atau lebih baru, perbedaan dalam rencana eksekusi dapat menyebabkan urutan bidang yang tidak konsisten dalam data yang disinkronkan. Hubungan nilai-bidang tetap tidak berubah. Jika bisnis Anda menggunakan query pencocokan teks pada struktur bersarang, evaluasi dampak dari urutan bidang yang tidak konsisten.

  • Evaluasi kinerja database sumber dan tujuan sebelum sinkronisasi. Jalankan sinkronisasi selama jam sepi. Jika tidak, inisialisasi data penuh akan mengonsumsi sumber daya baca dan tulis, sehingga meningkatkan beban database.

  • Inisialisasi penuh menjalankan operasi INSERT secara konkuren. Hal ini menciptakan fragmentasi dalam koleksi database tujuan. Setelah inisialisasi penuh, ruang koleksi di instans tujuan lebih besar daripada di instans sumber.

  • Jangan menulis data ke database tujuan kecuali melalui DTS selama sinkronisasi. Jika tidak, ketidakkonsistenan data dapat terjadi antara database sumber dan tujuan. Misalnya, jika Anda menggunakan DMS untuk melakukan operasi DDL Online sementara data lain ditulis ke database tujuan, kehilangan data dapat terjadi.

  • Karena DTS menulis data secara konkuren, ruang penyimpanan yang digunakan oleh tujuan 5% hingga 10% lebih besar daripada sumber.

  • Untuk mendapatkan jumlah dokumen di MongoDB tujuan, gunakan sintaks db.$table_name.aggregate([{ $count:"myCount"}]).

  • Pastikan MongoDB tujuan tidak memiliki primary key yang sama (defaultnya _id) dengan sumber. Jika tidak, kehilangan data dapat terjadi. Jika tujuan memiliki primary key yang sama, bersihkan data terkait di tujuan tanpa memengaruhi bisnis Anda (hapus dokumen dengan nilai _id yang sama di tujuan).

  • Jika tugas gagal, staf dukungan DTS akan mencoba memulihkannya dalam waktu delapan jam. Selama pemulihan, mereka mungkin merestart tugas atau menyesuaikan parameternya.

    Catatan

    Hanya parameter tugas DTS yang dimodifikasi—bukan parameter database. Parameter yang mungkin disesuaikan termasuk yang tercantum di Modifikasi parameter instans.

  • Jika database tujuan Anda adalah kluster sharded MongoDB, pastikan perilaku bisnis Anda memenuhi persyaratan MongoDB untuk koleksi yang di-shard setelah beralih trafik ke database ini.

  • Jika database sumber adalah MongoDB 5.0 atau lebih baru dan versi database tujuan lebih awal dari 5.0, Anda tidak dapat menyinkronkan koleksi capped collection. Jika Anda mencoba menyinkronkannya, tugas akan gagal atau terjadi ketidakkonsistenan data antara database sumber dan tujuan. Hal ini karena, mulai MongoDB 5.0, perilaku koleksi capped collection berubah untuk mengizinkan operasi seperti penghapusan eksplisit dan peningkatan ukuran dokumen selama pembaruan, dan versi kernel database sebelumnya tidak dapat mendukung fitur-fitur baru ini.

  • DTS tidak mendukung sinkronisasi koleksi time-series yang diperkenalkan di MongoDB 5.0 dan versi lebih baru.

Kasus khusus

Jika database sumber Anda adalah MongoDB yang dikelola sendiri:

  • Jika terjadi failover primer atau sekunder pada database sumber selama sinkronisasi, tugas akan gagal.

  • DTS menghitung latensi dengan membandingkan timestamp dokumen terakhir yang disinkronkan dengan timestamp saat ini. Jika database sumber tidak memiliki pembaruan dalam waktu lama, informasi latensi mungkin tidak akurat. Jika latensi tampak terlalu tinggi, jalankan operasi pembaruan di database sumber untuk memperbarui informasi latensi.

Catatan

Jika Anda memilih sinkronisasi seluruh database, buat tabel heartbeat. Perbarui atau tulis ke tabel ini setiap detik.

Penagihan

Jenis sinkronisasi

Harga

Sinkronisasi skema dan sinkronisasi data penuh

Gratis.

Sinkronisasi data inkremental

Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.

Topologi sinkronisasi yang didukung

  • Sinkronisasi satu arah satu-ke-satu

  • Sinkronisasi satu arah satu-ke-banyak

  • Sinkronisasi satu arah banyak-ke-satu

  • Sinkronisasi satu arah cascade

Untuk detail tentang topologi sinkronisasi ini dan pertimbangannya, lihat Topologi sinkronisasi.

Jenis sinkronisasi

Jenis

Deskripsi

Sinkronisasi skema

Mereplikasi skema objek yang dipilih dari instans ApsaraDB for MongoDB sumber ke instans ApsaraDB for MongoDB tujuan.

Sinkronisasi data penuh

Mereplikasi semua data historis untuk objek yang dipilih dari instans ApsaraDB for MongoDB sumber ke instans ApsaraDB for MongoDB tujuan.

Catatan

Sinkronisasi data penuh didukung pada tingkat database dan koleksi.

Sinkronisasi data inkremental

Mereplikasi perubahan berkelanjutan dari instans ApsaraDB for MongoDB sumber ke instans ApsaraDB for MongoDB tujuan setelah sinkronisasi data penuh selesai.

Oplog

Sinkronisasi data inkremental tidak mereplikasi database yang dibuat setelah tugas dimulai. Perubahan berikut direplikasi:

  • CREATE COLLECTION dan CREATE INDEX

  • DROP DATABASE, DROP COLLECTION, dan DROP INDEX

  • RENAME COLLECTION

    Catatan

    Operasi RENAME COLLECTION tidak direplikasi jika opsi dropTarget diatur ke true.

  • Insert, update, dan delete dokumen dalam sebuah koleksi.

    Catatan

    Untuk update dokumen, hanya mereplikasi operasi yang menggunakan perintah $set.

Change stream

Perubahan berikut direplikasi:

  • DROP DATABASE dan DROP COLLECTION

  • RENAME COLLECTION

    Catatan

    Operasi RENAME COLLECTION tidak direplikasi jika opsi dropTarget diatur ke true.

  • Insert, update, dan delete dokumen dalam sebuah koleksi.

    Catatan

    Untuk update dokumen, hanya mereplikasi operasi yang menggunakan perintah $set.

Prosedur

  1. Buka halaman daftar tugas sinkronisasi di wilayah tujuan. Anda dapat menggunakan salah satu dari dua metode berikut:

    Dari Konsol DTS

    1. Masuk ke Konsol Data Transmission Service (DTS).

    2. Di panel navigasi kiri, klik Data Synchronization.

    3. Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.

    Dari Konsol DMS

    Catatan

    Operasi aktual dapat berbeda tergantung mode dan tata letak Konsol DMS. Untuk informasi selengkapnya, lihat Mode sederhana dan Sesuaikan tata letak dan gaya antarmuka DMS.

    1. Masuk ke Data Management (DMS).

    2. Di bilah menu atas, pilih Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.

  2. Klik Create Task untuk membuka halaman konfigurasi tugas.

  3. Konfigurasikan database sumber dan tujuan.

    Peringatan

    Setelah memilih instans sumber dan tujuan, baca dengan cermat batasan yang ditampilkan di bagian atas halaman. Jika Anda tidak mengikuti batasan tersebut, tugas mungkin gagal atau terjadi ketidakkonsistenan data.

    Kategori

    Parameter

    Deskripsi

    N/A

    Task Name

    DTS secara otomatis menghasilkan nama tugas. Kami merekomendasikan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tersebut tidak harus unik.

    Source Database

    Select Existing Connection

    • Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.

      Catatan

      Di Konsol DMS, item konfigurasi ini bernama Select a DMS database instance..

    • Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan informasi database berikut secara manual.

    Database Type

    Pilih MongoDB.

    Connection Type

    Pilih Alibaba Cloud Instance.

    Instance Region

    Pilih wilayah tempat instans ApsaraDB for MongoDB sumber berada.

    Replicate Data Across Alibaba Cloud Accounts

    Contoh ini menggunakan instans database yang dimiliki oleh Akun Alibaba Cloud saat ini. Pilih No.

    Architecture

    Pilih Replica Set.

    Migration Method

    Pilih metode untuk sinkronisasi data inkremental berdasarkan kebutuhan Anda.

    • Oplog (Direkomendasikan):

      Opsi ini tersedia jika Oplog diaktifkan untuk database sumber.

      Catatan

      Oplog diaktifkan secara default untuk database MongoDB yang dikelola sendiri dan instans ApsaraDB for MongoDB. Metode ini menawarkan latensi lebih rendah untuk tugas sinkronisasi inkremental karena log diambil lebih cepat. Kami merekomendasikan memilih Oplog.

    • ChangeStream:

      Opsi ini tersedia jika Change Streams diaktifkan untuk database sumber.

      Catatan
      • Jika database sumber adalah instans Amazon DocumentDB (klaster non-elastis), Anda hanya dapat memilih ChangeStream.

      • Jika Anda mengatur Architecture database sumber ke Sharded Cluster, Anda tidak perlu menentukan Shard account dan Shard password.

    Instance ID

    Pilih ID instans ApsaraDB for MongoDB sumber.

    Authentication Database

    Masukkan nama database yang terkait dengan akun instans ApsaraDB for MongoDB sumber. Nilai default-nya adalah admin.

    Database Account

    Masukkan akun database ApsaraDB for MongoDB sumber. Akun tersebut harus memiliki izin baca pada database yang akan disinkronkan, database config, database admin, dan database local.

    Catatan

    Jika Anda menggunakan ChangeStream sebagai metode sinkronisasi inkremental, akun database sumber memerlukan izin baca Change Streams di seluruh instans (seperti readAnyDatabase). Jika sumber adalah instans ApsaraDB for MongoDB dengan akun kustom, Anda juga harus memberikan izin baca pada database admin. Untuk detailnya, lihat Izin akun root yang ditentukan saat pembuatan instans.

    Database Password

    Masukkan kata sandi yang sesuai dengan akun database.

    Encryption

    DTS mendukung tiga metode koneksi: Non-encrypted, SSL-encrypted, dan Mongo Atlas SSL. Opsi untuk Encryption bervariasi berdasarkan Access Method dan Architecture yang dipilih. Opsi yang ditampilkan di konsol berlaku.

    Catatan
    • Database MongoDB dengan Architecture Sharded Cluster dan Migration Method Oplog tidak mendukung SSL-encrypted.

    • Jika sumber adalah database MongoDB yang dikelola sendiri (Access Method bukan Alibaba Cloud Instance) dengan arsitektur Replica Set, dan Anda memilih SSL-encrypted, DTS juga memungkinkan Anda mengunggah sertifikat CA untuk memverifikasi koneksi.

    Destination Database

    Select Existing Connection

    • Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.

      Catatan

      Di Konsol DMS, item konfigurasi ini bernama Select a DMS database instance..

    • Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan informasi database berikut secara manual.

    Database Type

    Pilih MongoDB.

    Connection Type

    Pilih Alibaba Cloud Instance.

    Instance Region

    Pilih wilayah tempat instans ApsaraDB for MongoDB tujuan berada.

    Replicate Data Across Alibaba Cloud Accounts

    Contoh ini menggunakan instans database yang dimiliki oleh Akun Alibaba Cloud saat ini. Pilih No.

    Architecture

    Pilih jenis arsitektur instans ApsaraDB for MongoDB tujuan.

    Instance ID

    Pilih ID instans ApsaraDB for MongoDB tujuan.

    Authentication Database

    Masukkan nama database yang terkait dengan akun instans ApsaraDB for MongoDB tujuan. Nilai default-nya adalah admin.

    Database Account

    Masukkan akun database ApsaraDB for MongoDB tujuan. Akun tersebut harus memiliki izin dbAdminAnyDatabase, izin readWrite pada database tujuan, dan izin baca pada database local.

    Database Password

    Masukkan kata sandi yang sesuai dengan akun database.

    Encryption

    DTS mendukung tiga metode koneksi: Non-encrypted, SSL-encrypted, dan Mongo Atlas SSL. Opsi untuk Encryption bervariasi berdasarkan Access Method dan Architecture yang dipilih. Opsi yang ditampilkan di konsol berlaku.

    Catatan
    • Database MongoDB dengan Architecture Sharded Cluster tidak mendukung SSL-encrypted.

    • Jika tujuan adalah database MongoDB yang dikelola sendiri (Access Method bukan Alibaba Cloud Instance) dengan Replica Set, dan Anda memilih SSL-encrypted, DTS juga memungkinkan Anda mengunggah sertifikat CA untuk memverifikasi koneksi.

  4. Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.

    Catatan
    • Pastikan blok CIDR alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR alamat IP server DTS ke daftar putih.

    • Jika database sumber atau tujuan adalah database yang dikelola sendiri (di mana Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

  5. Konfigurasikan objek tugas.

    1. Di halaman Configure Objects, konfigurasikan objek yang akan disinkronkan.

      Parameter

      Deskripsi

      Synchronization Types

      Incremental Data Synchronization dipilih. Secara default, Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS melakukan sinkronisasi data penuh objek yang dipilih dari instans sumber ke kluster tujuan. Ini berfungsi sebagai data garis dasar untuk sinkronisasi data inkremental berikutnya.

      Catatan

      Untuk informasi selengkapnya, lihat Langkah-langkah tugas.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Memeriksa koleksi dengan nama yang sama di database tujuan. Jika ditemukan koleksi dengan nama yang sama, error dilaporkan dan tugas sinkronisasi data tidak dimulai. Jika tidak, pemeriksaan awal berhasil.

        Catatan

        Jika Anda tidak dapat menghapus atau mengganti nama koleksi dengan nama yang sama di database tujuan, Anda dapat mengubah nama koleksi di database tujuan. Untuk informasi selengkapnya, lihat Atur nama objek sinkronisasi di instans tujuan.

      • Ignore Errors and Proceed: Melewati pemeriksaan koleksi dengan nama yang sama di database tujuan.

        Peringatan

        Memilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan membahayakan bisnis Anda. Misalnya:

        • Jika catatan di database tujuan memiliki nilai primary key atau unique key yang sama dengan catatan di database sumber, catatan di database tujuan dipertahankan. Catatan dari database sumber tidak disinkronkan ke database tujuan.

        • Hal ini dapat menyebabkan inisialisasi data gagal, hanya sebagian data yang disinkronkan, atau seluruh sinkronisasi gagal.

      Synchronization Topology

      Pilih One-way Synchronization.

      Capitalization of Object Names in Destination Instance

      Anda dapat mengonfigurasi kebijakan case sensitivity untuk nama objek database dan koleksi dalam bahasa Inggris yang disinkronkan ke instans tujuan. Anda dapat memilih DTS default policy, yang merupakan opsi default, atau menggunakan kebijakan default database sumber atau tujuan. Untuk informasi selengkapnya, lihat Kebijakan case sensitivity untuk nama objek tujuan.

      Source Objects

      Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik 向右 untuk memindahkannya ke kotak Selected Objects.

      Catatan

      Anda dapat memilih objek pada tingkat DATABASE atau COLLECTION.

      Selected Objects

      • Untuk mengatur nama objek sinkronisasi di instans tujuan atau menentukan objek mana yang menerima data, klik kanan objek sinkronisasi di kotak Selected Objects dan modifikasi. Untuk informasi selengkapnya, lihat Pemetaan nama tabel dan kolom.

      • Untuk menghapus objek sinkronisasi, klik objek tersebut di kotak Selected Objects, lalu klik image untuk memindahkannya ke kotak Source Objects.

      Catatan
      • Untuk memilih operasi inkremental pada tingkat database atau koleksi, klik kanan objek yang diinginkan di kotak Selected Objects dan buat pilihan Anda di kotak dialog yang muncul.

      • Untuk memfilter data (didukung selama sinkronisasi penuh tetapi tidak selama sinkronisasi inkremental), klik kanan koleksi yang diinginkan di kotak Selected Objects dan konfigurasikan pengaturannya di kotak dialog yang muncul. Untuk petunjuknya, lihat Konfigurasi kondisi filter.

      • Jika Anda menggunakan fitur pemetaan nama objek untuk menentukan database atau koleksi yang menerima data, sinkronisasi mungkin gagal untuk objek lain yang bergantung pada objek yang dipetakan.

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

      Parameter

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas pada kluster bersama, dan Anda tidak perlu memilih kluster. Untuk kinerja yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi selengkapnya, lihat Apa itu kluster khusus DTS?.

      Retry Time for Failed Connections

      Setelah tugas sinkronisasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan error dan segera mulai mencoba menghubungkan kembali. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom dari 10 hingga 1.440 menit. Kami merekomendasikan agar Anda mengatur durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.

      Catatan
      • Jika Anda memiliki beberapa instans DTS (misalnya, Instans A dan Instans B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu percobaan ulang jaringan menjadi 30 menit untuk Instans A dan 60 menit untuk Instans B, durasi yang lebih pendek yaitu 30 menit akan digunakan untuk keduanya.

      • Karena DTS membebankan biaya untuk waktu proses tugas selama periode percobaan ulang koneksi, kami merekomendasikan agar Anda menyesuaikan durasi percobaan ulang berdasarkan kebutuhan bisnis Anda atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.

      Retry Time for Other Issues

      Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-koneksi lainnya pada database sumber atau tujuan (seperti exception eksekusi DDL atau DML), DTS melaporkan error dan segera mulai melakukan operasi percobaan ulang berkelanjutan. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi percobaan ulang dalam rentang 1 hingga 1.440 menit. Kami merekomendasikan agar Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.

      Penting

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

      Enable Throttling for Full Data Synchronization

      Selama tahap sinkronisasi penuh, DTS mengonsumsi sumber daya baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban database. Untuk mengurangi beban pada database sumber dan tujuan, Anda dapat mengatur batas laju untuk tugas sinkronisasi penuh dengan mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s).

      Catatan
      • Item konfigurasi ini hanya tersedia ketika Synchronization Types diatur ke Full Data Synchronization.

      • Anda juga dapat menyesuaikan laju sinkronisasi penuh setelah instans sinkronisasi berjalan.

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

      Tentukan apakah tipe data kunci primer _id bersifat unik dalam setiap koleksi yang akan disinkronkan.

      Penting
      • Pilih opsi berdasarkan data aktual Anda. Pemilihan yang salah dapat menyebabkan kehilangan data.

      • Parameter ini hanya tersedia jika Synchronization Types mencakup Full Data Synchronization.

      • Yes: Tipe data bersifat unik. Selama fase sinkronisasi penuh, DTS tidak memindai tipe data kunci primer dalam data sumber. Untuk setiap koleksi, DTS hanya menyinkronkan data yang sesuai dengan satu tipe data kunci primer.

      • No: Tipe data tidak unik. Selama fase sinkronisasi penuh, DTS memindai tipe data kunci primer dalam data sumber dan menyinkronkan semua data.

      Enable Throttling for Incremental Data Synchronization

      Anda juga dapat mengatur batas laju untuk tugas sinkronisasi inkremental. Untuk mengurangi tekanan pada database tujuan, atur RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).

      Environment Tag

      Anda dapat memilih tag lingkungan untuk mengidentifikasi instans berdasarkan kebutuhan Anda. Dalam contoh ini, tidak perlu pemilihan.

      Configure ETL

      Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL?. Nilai yang valid:

      Monitoring and Alerting

      Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.

    3. Klik Next: Data Validation untuk mengonfigurasi tugas validasi data.

      Jika Anda ingin menggunakan fitur validasi data, lihat Konfigurasi validasi data untuk petunjuk konfigurasi.

  6. Simpan tugas dan jalankan pemeriksaan awal.

    • Untuk melihat parameter API untuk mengonfigurasi instans ini, arahkan kursor ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung.

    • Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.

    Catatan
    • Sebelum tugas sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Tugas hanya dapat dimulai setelah semua item pemeriksaan awal lolos.

    • Jika pemeriksaan awal gagal, klik View Details untuk item yang gagal. Perbaiki masalah sesuai petunjuk, lalu jalankan pemeriksaan awal lagi.

    • Jika pemeriksaan awal mengembalikan peringatan:

      • Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan pemeriksaan awal lagi.

      • Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan pemeriksaan awal lagi. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.

  7. Beli instans.

    1. Saat Success Rate mencapai 100%, klik Next: Purchase Instance.

    2. Di halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter-parameter ini secara rinci.

      Kategori

      Parameter

      Deskripsi

      New Instance Class

      Billing Method

      • Subscription: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan bayar sesuai penggunaan. Semakin lama durasi langganan, semakin tinggi diskonnya.

      • Pay-as-you-go: Anda dikenai biaya per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat melepas instans segera setelah digunakan untuk menghemat biaya.

      Resource Group Configuration

      Kelompok sumber daya tempat instans tersebut berada. Nilai default-nya adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat Apa itu Resource Management?.

      Link Specification

      DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi link sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi link sinkronisasi data.

      Subscription Duration

      Dalam mode subscription, pilih durasi dan jumlah untuk instans langganan. Anda dapat memilih langganan bulanan dari 1 hingga 9 bulan, atau langganan tahunan selama 1, 2, 3, atau 5 tahun.

      Catatan

      Opsi ini hanya tersedia ketika metode penagihan adalah Subscription.

    3. Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

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

      Anda dapat melihat progres tugas di halaman Data Synchronization.

FAQ

Mengapa saya mengalami latensi tugas dan ketidakkonsistenan data meskipun tidak ada penulisan aplikasi?

  • Penyebab: Masalah ini terjadi karena konflik antara mekanisme penghapusan otomatis indeks TTL pada koleksi MongoDB dan mekanisme sinkronisasi data DTS. Konflik ini dapat menyebabkan latensi tugas dan ketidakkonsistenan data dalam tugas sinkronisasi/migrasi Anda.

    • DELETE berlebihan mengurangi efisiensi: Saat indeks TTL sumber menghapus data yang kedaluwarsa, ia menulis catatan DELETE ke Oplog. DTS memainkan ulang DELETE ini di tujuan. Jika indeks TTL tujuan sudah menghapus data yang sama, MongoDB mengembalikan jumlah baris yang terpengaruh yang tidak sesuai, memicu penanganan exception dan memperlambat migrasi.

    • Ketidakkonsistenan data dari penghapusan TTL asinkron: Indeks TTL tidak menghapus data secara real time. Data yang kedaluwarsa mungkin masih ada di sumber sementara tujuan sudah menghapusnya, menyebabkan ketidakkonsistenan.

      Contoh:

      Oplog atau ChangeStream MongoDB hanya mencatat bidang yang diperbarui untuk operasi UPDATE, bukan dokumen lengkap. Jika UPDATE tidak dapat menemukan data target di tujuan, DTS mengabaikan operasi tersebut.

      Waktu

      Instans sumber

      Instans tujuan

      1

      Layanan memasukkan data

      2

      DTS menyinkronkan operasi INSERT

      3

      Data telah kedaluwarsa tetapi belum dihapus oleh indeks TTL

      4

      Layanan memperbarui data (misalnya, memperbarui bidang indeks TTL untuk mengubah waktu kedaluwarsa)

      5

      Indeks TTL menghapus data

      6

      DTS menyinkronkan UPDATE, tetapi data tidak ditemukan. Operasi diabaikan.

      Akibatnya, dokumen ini hilang dari instans MongoDB tujuan.

  • Solusi: Untuk mengatasi hal ini, ubah sementara waktu kedaluwarsa indeks TTL pada target selama tugas sinkronisasi/migrasi. Hal ini memastikan efisiensi sinkronisasi dan konsistensi data. Untuk langkah-langkah detailnya, lihat Praktik terbaik untuk menyinkronkan atau memigrasikan koleksi dengan indeks TTL dari sumber MongoDB.