All Products
Search
Document Center

Data Transmission Service:Sinkronkan data dari instans kluster sharded ApsaraDB for MongoDB ke instans set replika atau kluster sharded ApsaraDB for MongoDB

Last Updated:Mar 29, 2026

Layanan Transmisi Data (DTS) mendukung sinkronisasi satu arah dari instans kluster sharded ApsaraDB for MongoDB ke instans set replika atau kluster sharded ApsaraDB for MongoDB. Topik ini menjelaskan cara mengonfigurasi tugas sinkronisasi tersebut.

Jalur sinkronisasi yang didukung

Arsitektur sumberArsitektur tujuanDidukung
Kluster shardedSet replikaYa
Kluster shardedKluster shardedYa
DTS hanya mendukung sinkronisasi data satu arah antara dua instans kluster sharded ApsaraDB for MongoDB. DTS tidak mendukung sinkronisasi data satu arah di antara beberapa instans ApsaraDB for MongoDB.

Penagihan

Jenis sinkronisasiBiaya
Sinkronisasi skema dan sinkronisasi data penuhGratis
Sinkronisasi data inkrementalDikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.

Jenis sinkronisasi

JenisDeskripsi
Sinkronisasi skemaDTS menyinkronkan skema objek yang dipilih dari sumber ke instans tujuan.
Sinkronisasi data penuhDTS menyinkronkan data historis dari objek yang dipilih. Objek yang didukung: database dan koleksi.
Sinkronisasi data inkrementalDTS menyinkronkan perubahan data berkelanjutan dari sumber ke instans tujuan.

Operasi inkremental yang didukung

DTS hanya menyinkronkan data inkremental dari database yang sudah ada saat tugas dimulai. Database yang dibuat setelah tugas dimulai tidak disinkronkan.

Saat menggunakan oplog:

  • CREATE COLLECTION dan CREATE INDEX

  • DROP DATABASE, DROP COLLECTION, dan DROP INDEX

  • RENAME COLLECTION

  • Operasi insert, update, dan delete pada dokumen

Hanya perintah $set yang dijalankan secara sinkron selama sinkronisasi data inkremental.

Saat menggunakan change streams:

  • DROP DATABASE dan DROP COLLECTION

  • RENAME COLLECTION

  • Operasi insert, update, dan delete pada dokumen

Hanya perintah $set yang dijalankan secara sinkron selama sinkronisasi data inkremental.

Prasyarat

Sebelum memulai, pastikan bahwa:

  • Instans ApsaraDB for MongoDB tujuan telah dibuat. Untuk informasi selengkapnya, lihat Buat instans set replika atau Buat instans kluster sharded.

  • Disarankan menggunakan instans tujuan yang memiliki ruang penyimpanan tersedia minimal 10% lebih besar daripada ukuran total data di instans sumber.

  • Titik akhir telah ditetapkan untuk semua node shard di instans kluster sharded sumber, dan semua node shard menggunakan akun serta kata sandi yang sama. Untuk informasi selengkapnya, lihat Ajukan titik akhir untuk shard.

  • Untuk versi instans yang didukung, lihat Ikhtisar skenario sinkronisasi data.

Jika tujuannya adalah instans kluster sharded, lengkapi langkah-langkah berikut sebelum memulai tugas DTS:

  • Tanpa sinkronisasi skema: Buat secara manual database dan koleksi yang akan disharding, konfigurasikan sharding data, aktifkan balancer, dan lakukan pre-sharding. Untuk informasi selengkapnya, lihat Konfigurasikan sharding untuk memaksimalkan kinerja shard.

  • Dengan sinkronisasi skema: Setelah sinkronisasi skema selesai, aktifkan balancer dan lakukan pre-sharding. Untuk informasi selengkapnya, lihat FAQ.

Mengonfigurasi sharding mendistribusikan data yang disinkronkan ke berbagai shard guna memaksimalkan kinerja kluster sharded. Mengaktifkan balancer dan melakukan pre-sharding juga mencegah kesenjangan data.

Batasan

Persyaratan database sumber dan tujuan

BatasanDetail
BandwidthServer database sumber harus memiliki bandwidth outbound yang mencukupi. Bandwidth yang tidak mencukupi akan mengurangi kecepatan sinkronisasi.
Batasan unikKoleksi yang akan disinkronkan harus memiliki batasan primary key atau unique key dengan semua field bersifat unik. Jika tidak, tujuan mungkin berisi catatan duplikat.
_id uniquenessField _id di setiap koleksi yang disinkronkan harus unik. Jika tidak, ketidakkonsistenan data dapat terjadi.
Batas koleksiJika Anda memilih koleksi sebagai objek sinkronisasi dan perlu mengedit koleksi di database tujuan, seperti mengganti namanya, satu tugas dapat menyinkronkan maksimal 1.000 koleksi. Melebihi batas ini menyebabkan error permintaan. Konfigurasikan beberapa tugas secara batch, atau sinkronkan seluruh database sebagai gantinya.
Ukuran dokumenSatu dokumen tidak boleh melebihi 16 MB. Dokumen yang lebih besar menyebabkan tugas gagal.
Sumber yang tidak didukungKluster Azure Cosmos DB for MongoDB dan kluster elastis Amazon DocumentDB tidak didukung sebagai database sumber.
Node MongosJumlah node mongos di kluster sharded MongoDB sumber tidak boleh melebihi 10.
Akses kluster sharded yang dikelola sendiriJika sumbernya adalah kluster sharded MongoDB yang dikelola sendiri, atur Access Method ke Express Connect, VPN Gateway, atau Smart Access Gateway atau Cloud Enterprise Network (CEN).
ScalingDatabase kluster sharded MongoDB dalam tugas DTS yang sedang berjalan tidak dapat di-scale. Melakukan scaling selama tugas berlangsung menyebabkan tugas gagal.
Indeks TTLJika sumber berisi indeks TTL, ketidakkonsistenan data dapat terjadi antara sumber dan tujuan setelah sinkronisasi.
Dokumen yatimTidak boleh ada dokumen orphaned di database sumber atau tujuan. Kehadirannya dapat menyebabkan ketidakkonsistenan data atau kegagalan tugas. Untuk informasi selengkapnya, lihat Glosarium MongoDB dan Bagaimana cara menghapus dokumen orphaned dari database MongoDB yang dideploy dalam arsitektur kluster sharded?

oplog dan change streams:

Database sumber harus memiliki oplog yang diaktifkan dan menyimpan data log minimal selama 7 hari, atau memiliki change streams yang diaktifkan dengan riwayat perubahan data minimal selama 7 hari. Tanpa hal ini, DTS mungkin gagal memperoleh perubahan data, sehingga menyebabkan kegagalan sinkronisasi atau kehilangan data. Masalah yang terjadi dalam kondisi seperti ini tidak dicakup oleh perjanjian tingkat layanan (SLA) DTS.

Penting
  • Gunakan oplog untuk mencatat perubahan data di database sumber (direkomendasikan daripada change streams).

  • Change streams memerlukan MongoDB 4.0 atau versi lebih baru dan tidak mendukung sinkronisasi dua arah.

  • Jika sumbernya adalah kluster Amazon DocumentDB non-elastis, Anda harus mengaktifkan change streams dan mengatur Migration Method ke ChangeStream dan Architecture ke Sharded Cluster.

Balancer:

Pastikan balancer MongoDB database sumber dinonaktifkan selama sinkronisasi data penuh. Jangan aktifkan balancer hingga semua sinkronisasi data penuh selesai dan sinkronisasi data inkremental dimulai. Menjalankan balancer selama sinkronisasi penuh dapat menyebabkan ketidakkonsistenan data. Untuk informasi selengkapnya, lihat Kelola balancer ApsaraDB for MongoDB.

Jika balancer database sumber diaktifkan untuk menyeimbangkan data, tugas DTS mungkin tertunda.

Perubahan skema selama sinkronisasi:

Jangan memodifikasi skema database atau koleksi, termasuk pembaruan tipe array, selama sinkronisasi skema atau sinkronisasi data penuh. Melakukannya dapat menyebabkan tugas gagal atau menghasilkan ketidakkonsistenan data.

Penulisan selama sinkronisasi penuh:

Jangan menulis ke database sumber selama sinkronisasi data penuh saja. Melakukannya menyebabkan ketidakkonsistenan data.

Batasan lainnya

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

  • Versi MongoDB tujuan harus sama dengan atau lebih baru daripada versi sumber. Versi tujuan yang lebih lama dapat menyebabkan masalah kompatibilitas.

  • Jika tujuannya adalah instans set replika:

    • Jika terhubung melalui Express Connect, VPN Gateway, Smart Access Gateway, Alamat IP publik, atau Cloud Enterprise Network (CEN), atur Domain Name or IP dan Port Number ke alamat IP dan port node primary, atau konfigurasikan titik akhir high-availability. Untuk informasi selengkapnya, lihat Buat tugas DTS dengan database MongoDB high-availability sebagai sumber atau tujuan.

    • Jika terhubung melalui database yang dikelola sendiri di ECS, atur Port Number ke nomor port node primary.

  • Jika tujuannya adalah kluster sharded dengan sharding data yang sudah dikonfigurasi: Jangan pilih Schema Synchronization pada langkah Configure Objects. Melakukannya dapat menyebabkan ketidakkonsistenan data atau kegagalan tugas akibat konflik shard.

  • Tambahkan kunci shard ke semua data yang akan disinkronkan di database sumber sebelum memulai tugas. Selama sinkronisasi, operasi INSERT harus menyertakan kunci shard, dan operasi UPDATE tidak boleh memodifikasi kunci shard.

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

  • Jika terjadi konflik primary key atau unique key saat DTS menulis ke koleksi tujuan, DTS melewati penulisan tersebut dan mempertahankan catatan yang sudah ada di tujuan.

  • Disarankan menyinkronkan data selama 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 konkuren menyebabkan fragmentasi di koleksi tujuan. Setelah sinkronisasi penuh selesai, ruang penyimpanan tujuan mungkin lebih besar daripada sumber.

  • Jika koleksi tujuan memiliki indeks unik atau atribut capped diatur ke true, koleksi tersebut hanya mendukung penulisan single-threaded selama sinkronisasi inkremental. Hal ini dapat meningkatkan latensi sinkronisasi.

  • Penulisan konkuren ke database tujuan menyebabkan penyimpanan tujuan 5%–10% lebih besar daripada ukuran data sumber.

  • Untuk menghitung jumlah baris di database MongoDB tujuan, gunakan: db.$table_name.aggregate([{ $count:"myCount"}]).

  • Pastikan database MongoDB tujuan tidak berisi dokumen dengan primary key (_id) yang sama dengan sumber. Jika ada duplikat, hapus dari tujuan tanpa menghentikan tugas DTS.

  • Jika tugas DTS gagal, dukungan teknis DTS berusaha memulihkannya dalam waktu 8 jam. Selama pemulihan, tugas mungkin dimulai ulang dan parameter tugas mungkin dimodifikasi. Parameter database tidak dimodifikasi. Untuk parameter yang mungkin diubah, lihat bagian "Modifikasi parameter instans" pada topik Modifikasi parameter instans DTS.

Hapus dokumen orphaned

Hapus semua dokumen orphaned dari database MongoDB sumber sebelum memulai tugas sinkronisasi.

Penting

Dokumen orphaned di sumber dapat menurunkan kinerja sinkronisasi, menghasilkan nilai _id duplikat, dan menyebabkan data yang tidak diinginkan disinkronkan.

Instans ApsaraDB for MongoDB

Menjalankan skrip pembersihan pada instans ApsaraDB for MongoDB dengan versi utama sebelum 4.2 atau versi minor sebelum 4.0.6 akan menyebabkan kesalahan. Untuk memeriksa versi, lihat Catatan rilis versi minor MongoDB. Untuk meningkatkan versi, lihat Peningkatan versi utama suatu instans dan Pembaruan versi minor suatu instans.

MongoDB 4.4 dan versi lebih baru

  1. Buat file JavaScript bernama cleanupOrphaned.js di server yang dapat terhubung ke instans kluster sharded.

    Skrip ini menghapus dokumen orphaned dari semua koleksi di beberapa database di berbagai shard. Untuk menargetkan koleksi tertentu, modifikasi parameter dalam skrip.
    ParameterDeskripsi
    shardNamesID shard yang akan dibersihkan. Temukan di bagian Shard List pada halaman Basic Information instans kluster sharded. Contoh: d-bp15a3796d3a****.
    databasesToProcessNama database tempat dokumen orphaned akan dihapus.
    // Nama-nama shard.
    var shardNames = ["shardName1", "shardName2"];
    // Database tempat Anda ingin menghapus dokumen orphaned.
    var databasesToProcess = ["database1", "database2", "database3"];
    
    shardNames.forEach(function(shardName) {
        // Telusuri database yang ditentukan.
        databasesToProcess.forEach(function(dbName) {
            var dbInstance = db.getSiblingDB(dbName);
            // Dapatkan nama semua koleksi dari database yang ditentukan.
            var collectionNames = dbInstance.getCollectionNames();
    
            // Telusuri semua koleksi.
            collectionNames.forEach(function(collectionName) {
                // Nama lengkap koleksi.
                var fullCollectionName = dbName + "." + collectionName;
                // Bangun perintah cleanupOrphaned.
                var command = {
                    runCommandOnShard: shardName,
                    command: { cleanupOrphaned: fullCollectionName }
                };
    
                // Jalankan perintah cleanupOrphaned.
                var result = db.adminCommand(command);
                if (result.ok) {
                    print("Membersihkan dokumen orphaned untuk koleksi " + fullCollectionName + " di shard " + shardName);
                    printjson(result);
                } else {
                    print("Gagal membersihkan dokumen orphaned untuk koleksi " + fullCollectionName + " di shard " + shardName);
                }
            });
        });
    });

    Perbarui parameter berikut dalam skrip:

  2. Di direktori tempat cleanupOrphaned.js disimpan, jalankan:

    ParameterDeskripsi
    <Mongoshost>Titik akhir node mongos. Format: s-bp14423a2a51****.mongodb.rds.aliyuncs.com.
    <Primaryport>Nomor port node mongos. Default: 3717.
    <database>Nama database otentikasi untuk akun tersebut.
    <username>Akun database.
    <password>Kata sandi untuk akun database.
    output.txtFile yang menyimpan hasil eksekusi.
    mongo --host <Mongoshost> --port <Primaryport> --authenticationDatabase <database> -u <username> -p <password> cleanupOrphaned.js > output.txt

MongoDB 4.2 dan versi sebelumnya

  1. Buat file JavaScript bernama cleanupOrphaned.js di server yang dapat terhubung ke instans kluster sharded.

    Skrip ini menghapus dokumen orphaned dari koleksi tertentu di berbagai shard. Untuk memproses beberapa koleksi, perbarui parameter fullCollectionName dan jalankan skrip lagi, atau modifikasi skrip agar melakukan iterasi pada semua koleksi.
    ParameterDeskripsi
    shardNamesID shard yang akan dibersihkan. Temukan di bagian Shard List pada halaman Basic Information instans kluster sharded. Contoh: d-bp15a3796d3a****.
    fullCollectionNameNama lengkap koleksi yang akan dibersihkan. Format: nama database.nama koleksi.
    function cleanupOrphanedOnShard(shardName, fullCollectionName) {
        var nextKey = { };
        var result;
    
        while ( nextKey != null ) {
            var command = {
                runCommandOnShard: shardName,
                command: { cleanupOrphaned: fullCollectionName, startingFromKey: nextKey }
            };
    
            result = db.adminCommand(command);
            printjson(result);
    
            if (result.ok != 1 || !(result.results.hasOwnProperty(shardName)) || result.results[shardName].ok != 1 ) {
                print("Tidak dapat menyelesaikan saat ini: kegagalan atau timeout.")
                break
            }
    
            nextKey = result.results[shardName].stoppedAtKey;
        }
    
        print("cleanupOrphaned selesai untuk coll: " + fullCollectionName + " di shard: " + shardName)
    }
    
    var shardNames = ["shardName1", "shardName2", "shardName3"]
    var fullCollectionName = "database.collection"
    
    shardNames.forEach(function(shardName) {
        cleanupOrphanedOnShard(shardName, fullCollectionName);
    });

    Perbarui parameter berikut dalam skrip:

  2. Di direktori tempat cleanupOrphaned.js disimpan, jalankan:

    ParameterDeskripsi
    <Mongoshost>Titik akhir node mongos. Format: s-bp14423a2a51****.mongodb.rds.aliyuncs.com.
    <Primaryport>Nomor port node mongos. Default: 3717.
    <database>Nama database otentikasi untuk akun tersebut.
    <username>Akun database.
    <password>Kata sandi untuk akun database.
    output.txtFile yang menyimpan hasil eksekusi.
    mongo --host <Mongoshost> --port <Primaryport> --authenticationDatabase <database> -u <username> -p <password> cleanupOrphaned.js > output.txt

Database MongoDB yang dikelola sendiri

  1. Unduh skrip cleanupOrphaned.js di server yang dapat terhubung ke database MongoDB yang dikelola sendiri:

    wget "https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/120562/cn_zh/1564451237979/cleanupOrphaned.js"
  2. Dalam file cleanupOrphaned.js, ganti test dengan nama database tempat dokumen orphaned akan dihapus.

    Penting

    Untuk memproses beberapa database, ulangi langkah 2 dan 3 untuk setiap database.

  3. Di setiap shard, jalankan perintah berikut untuk menghapus dokumen orphaned dari semua koleksi di database yang ditentukan:

    ParameterDeskripsi
    <Shardhost>Alamat IP shard.
    <Primaryport>Port layanan node primary di shard.
    <database>Nama database otentikasi untuk akun tersebut.
    <username>Akun yang digunakan untuk login ke database MongoDB yang dikelola sendiri.
    <password>Kata sandi yang digunakan untuk login ke database MongoDB yang dikelola sendiri.
    mongo --host <Shardhost> --port <Primaryport> --authenticationDatabase <database> -u <username> -p <password> cleanupOrphaned.js

    Contoh: Untuk database MongoDB yang dikelola sendiri dengan tiga shard, jalankan perintah sekali per shard:

    mongo --host 172.16.1.10 --port 27018 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.js
    
    mongo --host 172.16.1.11 --port 27021 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.js
    
    mongo --host 172.16.1.12 --port 27024 --authenticationDatabase admin -u dtstest -p 'Test123456' cleanupOrphaned.js

Konfigurasikan tugas sinkronisasi

Penting

Prosedur berikut mengonfigurasi tugas DTS sebelum membeli instans DTS. Saat Anda mengonfigurasi tugas terlebih dahulu, Anda tidak perlu menentukan jumlah shard di kluster sharded sumber. Jika Anda membeli instans DTS sebelum mengonfigurasi tugas, tentukan jumlah shard pada saat pembelian.

Langkah 1: Buka halaman sinkronisasi data

Gunakan salah satu konsol berikut:

Konsol DTS

  1. Login ke Konsol DTS.

  2. Di panel navigasi kiri, klik Data Synchronization.

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

Konsol Layanan Manajemen Data (DMS)

Langkah aktual dapat berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Mode simple dan Sesuaikan tata letak dan gaya konsol DMS.
  1. Login ke Konsol DMS.

  2. Di bilah navigasi atas, arahkan kursor ke Data + AI lalu pilih DTS (DTS) > Data Synchronization.

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

Langkah 2: Konfigurasikan database sumber dan tujuan

  1. Klik Create Task untuk membuka halaman konfigurasi tugas.

  2. Konfigurasikan nama tugas, database sumber, dan database tujuan menggunakan parameter berikut:

    BagianParameterDeskripsi
    N/ATask NameNama untuk tugas DTS. DTS menghasilkan nama secara otomatis. Tentukan nama deskriptif agar tugas mudah diidentifikasi. Nama unik tidak wajib.
    Source DatabaseSelect Existing ConnectionJika instans terdaftar di DTS, pilih dari daftar drop-down — DTS akan mengisi parameter lainnya secara otomatis. Jika tidak, konfigurasikan parameter di bawah. Di konsol DMS, pilih instans dari daftar drop-down Select a DMS database instance.
    Database TypePilih MongoDB.
    Access MethodPilih Alibaba Cloud Instance.
    Instance RegionWilayah tempat instans ApsaraDB for MongoDB sumber berada.
    Replicate Data Across Alibaba Cloud AccountsPilih No jika menggunakan Akun Alibaba Cloud saat ini.
    ArchitecturePilih Sharded Cluster.
    Migration MethodMetode untuk menyinkronkan data inkremental. Pilih berdasarkan kebutuhan Anda: Oplog (direkomendasikan) — tersedia jika oplog diaktifkan. Oplog menyinkronkan data inkremental dengan latensi rendah dan diaktifkan secara default baik untuk database MongoDB yang dikelola sendiri maupun instans ApsaraDB for MongoDB. ChangeStream — tersedia jika change streams diaktifkan. Untuk informasi selengkapnya, lihat Change Streams. Jika sumbernya adalah kluster Amazon DocumentDB non-elastis, pilih hanya ChangeStream. Jika Architecture diatur ke Sharded Cluster, parameter Shard account dan Shard password tidak diperlukan.
    Instance IDID instans ApsaraDB for MongoDB sumber.
    Authentication DatabaseNama database yang menyimpan kredensial akun. Default: admin.
    Database AccountAkun yang digunakan untuk mengakses database sumber. Akun harus memiliki izin baca pada database sumber dan database config, admin, dan local.
    Database PasswordKata sandi untuk akun database.
    Shard accountAkun yang digunakan untuk mengakses node shard. Hanya diperlukan untuk database MongoDB yang dikelola sendiri.
    Shard passwordKata sandi yang digunakan untuk mengakses node shard. Hanya diperlukan untuk database MongoDB yang dikelola sendiri.
    EncryptionApakah koneksi dienkripsi. Opsi: Non-encrypted, SSL-encrypted, atau Mongo Atlas SSL. Opsi yang tersedia bergantung pada pengaturan Access Method dan Architecture — lihat konsol DTS untuk opsi yang ditampilkan. Jika Architecture adalah Sharded Cluster dan Migration Method adalah Oplog, SSL-encrypted tidak tersedia. Jika sumbernya adalah database MongoDB yang dikelola sendiri dengan arsitektur set replika dan Encryption diatur ke SSL-encrypted, unggah sertifikat CA untuk memverifikasi koneksi.
    Destination DatabaseSelect Existing ConnectionJika instans terdaftar di DTS, pilih dari daftar drop-down. Jika tidak, konfigurasikan parameter di bawah.
    Database TypePilih MongoDB.
    Access MethodPilih Alibaba Cloud Instance.
    Instance RegionWilayah tempat instans ApsaraDB for MongoDB tujuan berada.
    Replicate Data Across Alibaba Cloud AccountsPilih No jika menggunakan Akun Alibaba Cloud saat ini.
    ArchitectureArsitektur instans tujuan.
    Instance IDID instans ApsaraDB for MongoDB tujuan.
    Authentication DatabaseNama database yang menyimpan kredensial akun. Default: admin.
    Database AccountAkun yang digunakan untuk mengakses database tujuan. Akun harus memiliki izin dbAdminAnyDatabase, izin baca dan tulis pada database tujuan, dan izin baca pada database local.
    Database PasswordKata sandi untuk akun database.
    EncryptionApakah koneksi dienkripsi. Opsi: Non-encrypted, SSL-encrypted, atau Mongo Atlas SSL. Jika tujuannya adalah kluster sharded ApsaraDB for MongoDB, SSL-encrypted tidak tersedia. Jika tujuannya adalah database MongoDB yang dikelola sendiri dengan arsitektur set replika dan Encryption diatur ke SSL-encrypted, unggah sertifikat CA untuk memverifikasi koneksi.
  3. Klik Test Connectivity and Proceed.

    - Pastikan blok CIDR server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR server DTS. - Jika sumber atau tujuan adalah database yang dikelola sendiri dengan metode akses selain Alibaba Cloud Instance, klik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

Langkah 3: Konfigurasikan objek sinkronisasi

  1. Di langkah Configure Objects, atur parameter berikut:

    ParameterDeskripsi
    Synchronization TypesPilih ketiga jenis: Schema Synchronization, Full Data Synchronization, dan Incremental Data Synchronization. Setelah pemeriksaan awal selesai, DTS menyinkronkan data historis dari sumber ke tujuan sebagai dasar untuk sinkronisasi inkremental. Jika sharding data sudah dikonfigurasi di kluster sharded tujuan dan Anda tidak memerlukan sinkronisasi skema DTS, jangan pilih Schema Synchronization. Melakukannya dapat menyebabkan ketidakkonsistenan data atau kegagalan tugas akibat konflik shard.
    Processing Mode of Conflicting TablesPrecheck and Report Errors: memeriksa apakah tujuan sudah memiliki koleksi dengan nama yang sama seperti di sumber. Jika ditemukan nama yang cocok, error dikembalikan dan tugas tidak dapat dimulai. Untuk menyelesaikan konflik penamaan tanpa menghapus atau mengganti nama koleksi tujuan, gunakan fitur pemetaan nama objek. Untuk informasi selengkapnya, lihat Ganti nama objek yang akan disinkronkan. Ignore Errors and Proceed: melewati pemeriksaan konflik nama. Jika catatan di tujuan memiliki primary key atau unique key yang sama dengan catatan di sumber, DTS tidak menimpa catatan tujuan.
    Peringatan

    Memilih opsi ini dapat menyebabkan ketidakkonsistenan data.

    Synchronization TopologyPilih One-way Synchronization.
    Capitalization of Object Names in Destination InstanceKebijakan kapitalisasi untuk nama database dan koleksi di tujuan. Default: DTS default policy. Untuk informasi selengkapnya, lihat Tentukan kapitalisasi nama objek di instans tujuan.
    Source ObjectsPilih database atau koleksi yang akan disinkronkan, lalu klik ikon panah untuk menambahkannya ke Selected Objects.
    Selected ObjectsUntuk mengganti nama objek yang disinkronkan di tujuan atau memetakannya ke objek berbeda, klik kanan objek tersebut di Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama objek. Untuk menghapus objek, klik objek tersebut lalu klik ikon hapus untuk memindahkannya kembali ke Source Objects. Untuk mengonfigurasi sinkronisasi inkremental berdasarkan database atau koleksi, klik kanan Selected Objects dan atur opsi di kotak dialog. Untuk memfilter data di koleksi, klik kanan koleksi tersebut di Selected Objects dan konfigurasikan kondisi filter. Filter hanya berlaku selama sinkronisasi data penuh, bukan selama sinkronisasi inkremental. Untuk informasi selengkapnya, lihat Tentukan kondisi filter. Jika Anda menggunakan pemetaan nama objek untuk mengganti nama database atau koleksi, objek lain yang bergantung padanya mungkin gagal disinkronkan.
  2. Klik Next: Advanced Settings.

Langkah 4: Konfigurasikan pengaturan lanjutan

ParameterDeskripsi
Dedicated Cluster for Task SchedulingSecara default, DTS menjadwalkan tugas ke kluster bersama. Untuk meningkatkan stabilitas, beli kluster khusus. Untuk informasi selengkapnya, lihat Apa itu kluster khusus DTS.
Retry Time for Failed ConnectionsRentang waktu bagi DTS untuk mencoba koneksi yang gagal. Nilai valid: 10–1440 menit. Default: 720 menit. Atur minimal 30 menit. Jika DTS terhubung kembali dalam jendela yang ditentukan, tugas dilanjutkan. Jika tidak, tugas gagal. Jika beberapa tugas berbagi database sumber atau tujuan yang sama, jendela retry terpendek yang berlaku. Biaya DTS berlaku selama periode retry.
Retry Time for Other IssuesRentang waktu bagi DTS untuk mencoba kembali operasi DDL atau DML yang gagal. Nilai valid: 1–1440 menit. Default: 10 menit. Atur minimal 10 menit. Nilai ini harus kurang dari Retry Time for Failed Connections.
Enable Throttling for Full Data SynchronizationMembatasi beban baca/tulis pada database sumber dan tujuan selama sinkronisasi penuh. Konfigurasikan Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk mengurangi beban. Tersedia hanya jika Full Data Synchronization dipilih.
Only one data type for primary key _id in a single tableMenunjukkan apakah _id di koleksi menggunakan satu tipe data. Yes: DTS melewati pemindaian tipe data _id dan hanya menyinkronkan satu tipe data per koleksi. No: DTS memindai semua tipe data _id dan menyinkronkan semua data. Konfigurasikan berdasarkan data aktual Anda. Konfigurasi yang salah dapat menyebabkan kehilangan data. Tersedia hanya jika Full Data Synchronization dipilih.
Enable Throttling for Incremental Data SynchronizationMembatasi beban pada database tujuan selama sinkronisasi inkremental. Konfigurasikan RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).
Environment TagTag untuk mengidentifikasi instans DTS. Pilih berdasarkan kebutuhan Anda.
Configure ETLApakah fitur ekstrak, transformasi, muat (ETL) diaktifkan. Yes: mengaktifkan ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasikan ETL dalam tugas migrasi data atau sinkronisasi data. No: menonaktifkan ETL. Untuk informasi selengkapnya tentang ETL, lihat Apa itu ETL?
Monitoring and AlertingApakah akan mengonfigurasi peringatan untuk tugas. Yes: mengirim peringatan saat tugas gagal atau latensi sinkronisasi melebihi ambang batas. Konfigurasikan ambang batas peringatan dan pengaturan notifikasi. Untuk informasi selengkapnya, lihat bagian "Konfigurasikan pemantauan dan peringatan saat membuat tugas DTS" pada topik Konfigurasikan pemantauan dan peringatan. No: menonaktifkan peringatan.

Langkah 5: Konfigurasikan verifikasi data (opsional)

Klik Next Step: Data Verification untuk mengonfigurasi verifikasi data. Untuk informasi selengkapnya, lihat Konfigurasikan tugas verifikasi data.

Langkah 6: Simpan pengaturan dan jalankan pemeriksaan awal

  • Untuk melihat parameter API untuk konfigurasi tugas ini, arahkan kursor ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters.

  • Klik Next: Save Task Settings and Precheck.

DTS menjalankan pemeriksaan awal sebelum memulai tugas sinkronisasi. Tugas hanya dapat dimulai setelah lulus pemeriksaan awal.
Jika pemeriksaan awal gagal, klik View Details di sebelah setiap item yang gagal, diagnosa masalahnya, perbaiki, lalu jalankan kembali pemeriksaan awal.
Jika muncul peringatan selama pemeriksaan awal:
Untuk peringatan yang tidak dapat diabaikan: klik View Details, perbaiki masalahnya, lalu jalankan kembali pemeriksaan awal.
Untuk peringatan yang dapat diabaikan: klik Confirm Alert Details, lalu klik Ignore di kotak dialog View Details, klik OK, lalu klik Precheck Again. Mengabaikan peringatan dapat menyebabkan ketidakkonsistenan data.

Langkah 7: Beli instans

  1. Tunggu hingga Success Rate mencapai 100%, lalu klik Next: Purchase Instance.

  2. Di halaman buy, konfigurasikan parameter berikut:

    BagianParameterDeskripsi
    New Instance ClassBilling MethodSubscription: bayar di muka untuk periode tertentu. Lebih hemat biaya untuk penggunaan jangka panjang. Pay-as-you-go: ditagih per jam. Cocok untuk penggunaan jangka pendek. Lepaskan instans saat tidak lagi diperlukan untuk menghentikan biaya.
    Resource Group SettingsKelompok sumber daya untuk instans sinkronisasi. Default: default resource group. Untuk informasi selengkapnya, lihat Apa itu Manajemen Sumber Daya?
    Instance ClassDTS menyediakan kelas instans dengan kecepatan sinkronisasi berbeda. Pilih berdasarkan kebutuhan Anda. Untuk informasi selengkapnya, lihat Kelas instans untuk instansi sinkronisasi data.
    Subscription DurationTersedia hanya untuk penagihan Subscription. Pilih 1–9 bulan, 1 tahun, 2 tahun, 3 tahun, atau 5 tahun. Juga tentukan jumlah instans yang akan dibuat.
  3. Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.

  4. Klik Buy and Start, lalu klik OK di kotak dialog konfirmasi.

Tugas muncul di daftar tugas. Setelah pemeriksaan awal lulus dan instans dibeli, DTS secara otomatis memulai tugas sinkronisasi.

Langkah selanjutnya

  • Pantau status sinkronisasi dan latensi di daftar tugas konsol DTS.

  • Setelah sinkronisasi data penuh selesai dan sinkronisasi inkremental dimulai, aktifkan kembali balancer MongoDB di database sumber jika diperlukan.

  • Jika tujuannya adalah kluster sharded, aktifkan balancer dan lakukan pre-sharding untuk mencegah kesenjangan data. Untuk informasi selengkapnya, lihat Konfigurasikan sharding untuk memaksimalkan kinerja shard.