Anda dapat menyinkronkan data secara dua arah antara dua instans set replika ApsaraDB for MongoDB untuk menjaga konsistensi keduanya.
Prasyarat
-
Instans set replika ApsaraDB for MongoDB sumber dan tujuan telah dibuat. Buat instans set replika.
PentingVersi database yang didukung tercantum dalam Ikhtisar solusi sinkronisasi.
-
Instans ApsaraDB for MongoDB tujuan memiliki kapasitas penyimpanan minimal 10% lebih besar daripada ukuran data instans ApsaraDB for MongoDB sumber.
-
Parameter replication.oplogGlobalIdEnabled diatur ke true pada kedua instans. Atur parameter database.
CatatanJika parameter ini tidak diatur ke true, pemeriksaan awal gagal atau mengembalikan error
two-way mongo must have gid.
Catatan penggunaan
|
Type |
Deskripsi |
|
Batasan database sumber dan tujuan |
|
|
Batasan lainnya |
|
Penagihan
|
Tipe sinkronisasi |
Harga |
|
Sinkronisasi skema dan sinkronisasi data penuh |
Gratis. |
|
Sinkronisasi data inkremental |
Dikenai biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan. |
Topologi sinkronisasi dua arah yang didukung
DTS hanya mendukung sinkronisasi dua arah antara dua instans set replika ApsaraDB for MongoDB. Sinkronisasi di antara lebih dari dua instans ApsaraDB for MongoDB tidak didukung.
Deteksi konflik yang didukung
Untuk menjaga konsistensi data, perbarui catatan yang memiliki primary key, business primary key, atau unique key yang sama hanya pada satu node dalam satu waktu.
DTS mendeteksi dan menyelesaikan jenis konflik berikut untuk memastikan stabilitas sinkronisasi:
-
Konflik keunikan dari operasi INSERT
Jika operasi INSERT menambahkan catatan yang sudah ada di tujuan, DTS mengabaikan operasi tersebut.
-
Ketidaksesuaian catatan selama operasi UPDATE
Jika operasi UPDATE menargetkan catatan yang tidak ada di tujuan atau menyebabkan konflik, DTS mengabaikan operasi tersebut.
-
Operasi DELETE pada catatan yang tidak ada
Jika operasi DELETE menargetkan catatan yang tidak ada di tujuan, DTS mengabaikan operasi tersebut.
-
Deteksi konflik DTS tidak dapat sepenuhnya mencegah konflik data yang disebabkan oleh perbedaan waktu sistem dan latensi sinkronisasi. Aplikasi Anda harus memperbarui catatan yang memiliki primary key, business primary key, atau unique key yang sama hanya pada satu node dalam satu waktu.
-
Kebijakan Resolusi Konflik default adalah Ignore dan tidak dapat diubah.
Tipe sinkronisasi
|
Jenis |
Deskripsi |
|
Sinkronisasi skema |
Menyinkronkan skema objek yang dipilih dari instans ApsaraDB for MongoDB sumber ke instans ApsaraDB for MongoDB tujuan. |
|
Sinkronisasi data penuh |
Menyinkronkan semua data yang ada dari objek yang dipilih dari instans ApsaraDB for MongoDB sumber ke instans ApsaraDB for MongoDB tujuan. Catatan
Sinkronisasi data penuh mendukung database dan koleksi. |
|
Sinkronisasi data inkremental |
Setelah sinkronisasi data penuh selesai, DTS terus-menerus menyinkronkan data inkremental dari instans ApsaraDB for MongoDB sumber ke instans ApsaraDB for MongoDB tujuan. Sinkronisasi data inkremental tidak mereplikasi database yang dibuat setelah tugas dimulai. Perubahan berikut direplikasi:
|
Prosedur
-
Buka halaman daftar tugas sinkronisasi di wilayah tujuan. Anda dapat menggunakan salah satu dari dua metode berikut:
Dari Konsol DTS
-
Masuk ke Konsol Data Transmission Service (DTS).
-
Di panel navigasi kiri, klik Data Synchronization.
-
Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.
Dari Konsol DMS
CatatanOperasi aktual dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, lihat Simple mode dan Customize the layout and style of the DMS interface.
-
Masuk ke Data Management (DMS).
-
Di bilah menu atas, pilih .
-
Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.
-
-
Klik Create Task untuk membuka halaman konfigurasi tugas.
-
Konfigurasikan database sumber dan tujuan.
Kategori
Parameter
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami merekomendasikan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama 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.
CatatanDi 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 manual informasi database berikut.
Database Type
Klik pemilih tipe database. Tampilan default menampilkan tab "Relational database". Beralih ke tab "NoSQL database" dan pilih MongoDB.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah instans ApsaraDB for MongoDB sumber.
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 Oplog.
Instance ID
Pilih ID instans ApsaraDB for MongoDB sumber.
Authentication Database
Masukkan nama database autentikasi untuk akun instans ApsaraDB for MongoDB sumber. Default: admin.
Database Account
Masukkan akun database instans ApsaraDB for MongoDB sumber. Akun harus memiliki izin baca pada database yang akan disinkronkan serta pada database
config,admin, danlocal.CatatanBuat dan konfigurasikan akun seperti dijelaskan dalam Manajemen izin akun database MongoDB.
Database Password
Masukkan password 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.
CatatanDi 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 manual informasi database berikut.
Database Type
Klik pemilih tipe database. Tampilan default menampilkan tab "Relational database". Beralih ke tab "NoSQL database" dan pilih MongoDB.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah instans ApsaraDB for MongoDB tujuan.
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.
Instance ID
Pilih ID instans ApsaraDB for MongoDB tujuan.
Authentication Database
Masukkan nama database autentikasi untuk akun instans ApsaraDB for MongoDB tujuan. Default: admin.
Database Account
Masukkan akun database instans ApsaraDB for MongoDB tujuan. Akun harus memiliki role dbAdminAnyDatabase dan readWrite pada database tujuan, serta role read pada database local.
CatatanBuat dan konfigurasikan akun seperti dijelaskan dalam Manajemen izin akun database MongoDB.
Database Password
Masukkan password 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 arsitektur Replica Set, dan Anda memilih SSL-encrypted, DTS juga memungkinkan Anda mengunggah sertifikat CA untuk memverifikasi koneksi.
-
-
Setelah konfigurasi selesai, klik Test Connectivity and Proceed di bagian bawah halaman.
CatatanPastikan 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 lebih lanjut, lihat Add the IP address CIDR blocks of DTS servers to a whitelist.
-
Konfigurasikan objek tugas.
-
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.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Memeriksa keberadaan 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.
CatatanJika 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 lebih lanjut, lihat Set the name of a synchronization object in the destination instance.
-
Ignore Errors and Proceed: Melewati pemeriksaan koleksi dengan nama yang sama di database tujuan.
PeringatanMemilih 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 kegagalan inisialisasi data, hanya sebagian data yang disinkronkan, atau seluruh sinkronisasi gagal.
-
Synchronization Topology
Pilih Two-way Synchronization.
Exclude DDL Operations
-
Pilih Yes: Operasi DDL tidak disinkronkan.
-
Pilih No: Operasi DDL disinkronkan.
PentingSinkronisasi DDL hanya didukung dalam arah maju. Sinkronisasi DDL balik tidak didukung.
Conflict Resolution Policy
Pilih kebijakan resolusi konflik. Hanya Ignore yang didukung: DTS mempertahankan catatan tujuan dan membuang perubahan sumber yang konflik.
Saat terjadi konflik yang tercantum dalam Deteksi konflik yang didukung, DTS melewati pernyataan yang konflik dan mempertahankan catatan tujuan.
Capitalization of Object Names in Destination Instance
Anda dapat mengonfigurasi kebijakan case sensitivity untuk nama objek database dan koleksi berbahasa 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 lebih lanjut, lihat Case sensitivity policy for destination object names.
Source Objects
Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanObjek dapat dipilih di 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 lebih lanjut, lihat Map table and column names.
-
Untuk menghapus objek sinkronisasi, klik objek tersebut di kotak Selected Objects, lalu klik
untuk memindahkannya ke kotak Source Objects.
Catatan-
Untuk memilih operasi inkremental di 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 petunjuk, lihat Configure filter conditions.
-
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.
-
-
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 lebih lanjut, lihat What is a DTS dedicated cluster?.
Retry Time for Failed Connections
Setelah tugas sinkronisasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan error dan segera mulai mencoba koneksi ulang. 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 mengenakan 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 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.
PentingNilai 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 tersedia hanya jika 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 primary key
_idbersifat unik dalam setiap koleksi yang akan disinkronkan.Penting-
Pilih opsi berdasarkan data aktual Anda. Pemilihan yang salah dapat menyebabkan kehilangan data.
-
Parameter ini tersedia hanya jika Synchronization Types mencakup Full Data Synchronization.
-
Yes: Tipe data bersifat unik. Selama fase sinkronisasi penuh, DTS tidak memindai tipe data primary key dalam data sumber. Untuk setiap koleksi, DTS hanya menyinkronkan data yang sesuai dengan satu tipe data primary key.
-
No: Tipe data tidak bersifat unik. Selama fase sinkronisasi penuh, DTS memindai tipe data primary key 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
Opsional. Pilih tag lingkungan untuk mengidentifikasi instans.
Configure ETL
Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi lebih lanjut, lihat What is ETL? Nilai yang valid:
-
Yes: Mengaktifkan fitur ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi lebih lanjut, lihat Configure ETL in a data migration or data synchronization task.
-
No: Menonaktifkan fitur ETL.
Monitoring and Alerting
Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.
-
No: Tidak ada peringatan yang dikonfigurasi.
-
Yes: Konfigurasikan peringatan dengan mengatur ambang batas peringatan dan menentukan notifikasi peringatan. Untuk informasi lebih lanjut, lihat Configure monitoring and alerting during task configuration.
-
-
Klik Next: Data Validation untuk mengonfigurasi tugas validasi data.
Jika Anda ingin menggunakan fitur validasi data, lihat Configure data validation untuk petunjuk konfigurasi.
-
-
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 pekerjaan sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Pekerjaan 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 kembali pemeriksaan awal. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.
-
-
-
Beli instans.
-
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
-
Di halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter ini secara detail.
Kategori
Parameter
Deskripsi
New Instance Class
Billing Method
-
Subscription: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya daripada pay-as-you-go. 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 berada. Default adalah kelompok sumber daya default. Untuk informasi lebih lanjut, lihat What is 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 lebih lanjut, lihat Data synchronization link specifications.
Subscription Duration
Dalam mode subscription, pilih durasi dan kuantitas untuk instans langganan. Anda dapat memilih langganan bulanan dari 1 hingga 9 bulan, atau langganan tahunan 1, 2, 3, atau 5 tahun.
CatatanOpsi ini hanya tersedia saat metode penagihan adalah Subscription.
-
-
Setelah konfigurasi selesai, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
-
Klik Buy and Start. Di kotak dialog OK, klik OK.
Anda dapat melihat progres tugas di halaman Data Synchronization.
-
-
Konfigurasikan tugas sinkronisasi balik.
-
Tunggu hingga tugas sinkronisasi maju menyelesaikan inisialisasi dan Status-nya menjadi Running.
-
Temukan tugas sinkronisasi balik dan klik Configure Task.
-
Ulangi Langkah 3 hingga Langkah 6 untuk mengonfigurasi tugas sinkronisasi balik.
Penting-
Dalam tugas balik, sumber dan tujuan ditukar: sumber adalah tujuan tugas maju dan sebaliknya. Verifikasi bahwa nama database, akun, dan password benar.
-
Kami merekomendasikan agar Anda tidak mengubah nama pemetaan dalam tugas balik. Mengubahnya dapat menyebabkan ketidakkonsistenan data.
-
Instance Region tidak dapat diubah dalam tugas balik. Tugas balik memiliki parameter yang lebih sedikit; gunakan nilai yang ditampilkan di konsol.
-
Pengaturan Processing Mode of Conflicting Tables dalam tugas balik tidak memeriksa koleksi yang sudah disinkronkan oleh tugas maju.
-
Tugas balik tidak dapat menyinkronkan objek yang sudah ada dalam daftar Selected Objects tugas maju.
-
Tugas sinkronisasi balik secara otomatis mengecualikan operasi DDL.
-
-
Saat Success Rate mencapai 100%, klik Back.
-
-
Setelah mengonfigurasi tugas balik, tunggu hingga kedua tugas menunjukkan Status sebagai Running. Sinkronisasi dua arah kini aktif.