All Products
Search
Document Center

Data Transmission Service:Sinkronisasi ApsaraDB for MongoDB ke AnalyticDB for MySQL 3.0

Last Updated:Jun 22, 2026

Layanan Transmisi Data (DTS) menyinkronkan data dari instans set replika ApsaraDB for MongoDB ke kluster AnalyticDB for MySQL 3.0. Topik ini menjelaskan cara melakukannya.

Prasyarat

  • Jika sumbernya adalah instans kluster sharded ApsaraDB for MongoDB, mintalah titik akhir untuk setiap node shard dan konfigurasikan semua node shard dengan username dan password yang sama. Untuk informasi lebih lanjut, lihat Ajukan titik akhir untuk node shard atau node ConfigServer dalam instans kluster sharded.

  • Buat kluster tujuan AnalyticDB for MySQL 3.0 dengan ruang penyimpanan lebih besar daripada instans sumber ApsaraDB for MongoDB. Untuk informasi lebih lanjut, lihat Buat kluster.

    Catatan

    Instans tujuan harus memiliki ruang penyimpanan minimal 10% lebih besar daripada ruang penyimpanan yang digunakan oleh database sumber.

  • Di kluster tujuan AnalyticDB for MySQL 3.0, buat database dan tabel dengan kunci primer. Untuk informasi lebih lanjut, lihat CREATE DATABASE dan CREATE TABLE.

    Penting
    • Pastikan tipe data di tabel tujuan kompatibel dengan data MongoDB sumber. Misalnya, jika field _id di MongoDB bertipe ObjectId, tipe data yang sesuai di kluster AnalyticDB for MySQL 3.0 harus varchar.

    • Jangan gunakan _id atau _value sebagai nama kolom di tabel tujuan kluster AnalyticDB for MySQL 3.0.

  • Jalankan perintah SET ADB_CONFIG ALLOW_MULTI_QUERIES=true; di kluster tujuan AnalyticDB for MySQL 3.0 untuk mengaktifkan fitur multi-pernyataan.

    Catatan

    Fitur multi-pernyataan hanya tersedia untuk kluster yang menjalankan versi minor 3.1.9.3 atau lebih baru. Untuk melihat dan meningkatkan versi minor kluster Anda, lihat Tingkatkan versi minor.

Catatan

Tipe

Deskripsi

Batasan database sumber

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

  • Untuk mengedit objek (seperti 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.

  • Jika MongoDB sumber Anda adalah instans kluster sharded, field _id di koleksi yang akan disinkronkan harus memiliki nilai unik. Jika tidak, ketidakkonsistenan data dapat terjadi.

  • Jika MongoDB sumber Anda adalah instans kluster sharded, jumlah node Mongos tidak boleh melebihi 10. Pastikan juga tidak ada dokumen yatim (orphaned documents) di instans kluster sharded MongoDB Anda. Jika tidak, ketidakkonsistenan data atau kegagalan tugas dapat terjadi. Untuk informasi lebih lanjut, lihat dokumen yatim dan Cara membersihkan dokumen yatim di MongoDB (arsitektur kluster sharded).

  • Jika instans sumber Anda adalah kluster sharded MongoDB yang dikelola sendiri:

    • Access Method hanya mendukung Express Connect, VPN Gateway, or Smart Access Gateway dan Cloud Enterprise Network (CEN).

    • Jika versi MongoDB Anda 8.0 atau lebih baru dan Migration Method adalah Oplog, pastikan akun Shard yang digunakan oleh tugas sinkronisasi memiliki izin directShardOperations. Tambahkan izin ini menggunakan perintah db.adminCommand({ grantRolesToUser: "username", roles: [{ role: "directShardOperations", db: "admin"}]}).

      Catatan

      Ganti username dalam perintah dengan akun Shard yang digunakan oleh tugas sinkronisasi.

    • Jika Migration Method adalah Oplog dan tugas mencakup sinkronisasi data penuh, pastikan akun Mongos untuk kluster sharded MongoDB sumber memiliki izin untuk menjalankan perintah db.runCommand({"balancerStatus":1}). DTS memeriksa apakah Balancer dinonaktifkan menggunakan perintah ini selama Pemeriksaan Awal.

  • Database sumber Anda tidak mendukung MongoDB standalone, Azure Cosmos DB for MongoDB, atau Amazon DocumentDB (kluster elastis).

  • Database sumber Anda harus mengaktifkan Oplog dan menyimpan Oplog selama minimal 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 (kluster non-elastis), aktifkan Change Streams secara manual. Saat mengonfigurasi tugas, atur Migration Method ke ChangeStream dan atur Architecture ke Sharded Cluster.

  • Batasan operasi database sumber:

    • Selama 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 MongoDB sumber Anda adalah instans kluster sharded, selama instans sinkronisasi berjalan, jangan jalankan perintah yang mengubah distribusi data pada objek yang akan disinkronkan di database sumber (misalnya, shardCollection, reshardCollection, unshardCollection, moveCollection, atau movePrimary). Jika tidak, ketidakkonsistenan data dapat terjadi.

  • Jika MongoDB sumber Anda adalah kluster sharded dan Balancer melakukan penyeimbangan data, latensi dapat terjadi.

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

Batasan lainnya

  • Hanya sinkronisasi tingkat koleksi yang didukung.

  • Database tujuan harus berisi kunci primer kustom. Atau, pada langkah Configurations for Databases, Tables, and Columns, konfigurasikan Primary Key Column. Jika tidak, sinkronisasi mungkin gagal.

  • Tabel yang menerima data di kluster tujuan AnalyticDB for MySQL 3.0 harus memiliki kolom kunci primer unik (bukan kunci primer komposit), dan saat Anda mengonfigurasi field sinkronisasi di Selected Objects, Assignment untuk kolom kunci primer ini harus bson_value("_id").

  • Di kluster tujuan AnalyticDB for MySQL 3.0, tabel yang menerima data tidak boleh berisi field bernama _id atau _value, jika tidak, sinkronisasi akan gagal.

  • Jika tipe data di kluster AnalyticDB for MySQL 3.0 tidak kompatibel dengan data MongoDB, tugas akan gagal.

  • Karena batasan kluster AnalyticDB for MySQL 3.0, tugas DTS menjadi abnormal dan mengalami penundaan ketika penggunaan ruang disk oleh node melebihi 80%. Kami merekomendasikan agar Anda memperkirakan ruang disk yang dibutuhkan berdasarkan objek yang akan disinkronkan. Pastikan kluster tujuan memiliki penyimpanan yang cukup.

  • Jika kluster tujuan AnalyticDB for MySQL 3.0 sedang dibackup saat tugas DTS berjalan, tugas akan gagal.

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

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

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

  • Sinkronisasi data penuh menjalankan operasi INSERT secara konkuren. Hal ini menciptakan fragmentasi di koleksi database tujuan. Setelah sinkronisasi penuh, ruang penyimpanan koleksi di database tujuan lebih besar daripada di instans sumber.

  • Pastikan presisi sinkronisasi DTS untuk kolom FLOAT atau DOUBLE sesuai dengan ekspektasi bisnis Anda. DTS membaca kolom ini menggunakan ROUND(COLUMN,PRECISION). Jika presisi tidak ditentukan, DTS menggunakan 38 digit untuk FLOAT dan 308 digit untuk DOUBLE.

  • DTS mencoba memulihkan tugas sinkronisasi yang gagal dalam waktu tujuh hari. Sebelum mengalihkan trafik ke instans tujuan, akhiri atau lepas tugas tersebut. Atau gunakan perintah revoke untuk mencabut izin tulis akun DTS pada instans tujuan. Hal ini mencegah pemulihan otomatis menimpa data tujuan dengan data sumber.

  • DTS menghitung latensi sinkronisasi inkremental 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.

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

  • Jika tugas gagal, staf dukungan DTS akan mencoba memulihkannya dalam waktu delapan jam. Selama pemulihan, mereka mungkin me-restart 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.

Penagihan

Tipe

Biaya

Sinkronisasi data penuh

Gratis.

Sinkronisasi data inkremental

Dikenai biaya. Untuk detailnya, lihat Ikhtisar penagihan.

Jenis sinkronisasi

Tipe

Deskripsi

Sinkronisasi data penuh

Menyinkronkan semua data yang ada di objek terpilih dari instans sumber ApsaraDB for MongoDB ke kluster tujuan AnalyticDB for MySQL 3.0.

Sinkronisasi data inkremental

Menyinkronkan pembaruan inkremental dari instans sumber ApsaraDB for MongoDB ke kluster tujuan AnalyticDB for MySQL 3.0. Proses ini dibangun di atas sinkronisasi data penuh.

Catatan
  • Hanya mendukung operasi insert, update, dan delete pada dokumen dalam koleksi.

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

Izin akun database

Database

Izin

Aksi

instans sumber ApsaraDB for MongoDB

Izin baca pada database yang akan disinkronkan, serta pada database admin dan local.

Manajemen akun

kluster tujuan AnalyticDB for MySQL 3.0

Izin baca dan tulis pada database tujuan.

Buat akun database

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 pada mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, 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.

    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.

      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.

    Access Method

    Pilih Alibaba Cloud Instance.

    Instance Region

    Pilih wilayah instans sumber ApsaraDB for MongoDB.

    Replicate Data Across Alibaba Cloud Accounts

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

    Architecture

    Pada contoh ini, pilih Replica Set.

    Catatan

    Jika instans sumber ApsaraDB for MongoDB Anda menggunakan arsitektur Sharded Cluster, Anda juga harus memasukkan Shard account dan Shard password.

    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 (kluster 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 sumber ApsaraDB for MongoDB.

    Authentication Database

    Masukkan nama database tempat akun database sumber ApsaraDB for MongoDB berada. Jika Anda belum mengubahnya, nilai default-nya adalah admin.

    Database Account

    Masukkan akun database instans sumber ApsaraDB for MongoDB. Untuk informasi tentang izin yang diperlukan, lihat Izin akun database.

    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 sumbernya 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 AnalyticDB for MySQL 3.0.

    Access Method

    Pilih Alibaba Cloud Instance.

    Instance Region

    Pilih wilayah kluster tujuan AnalyticDB for MySQL 3.0.

    Instance ID

    Pilih ID kluster tujuan AnalyticDB for MySQL 3.0.

    Database Account

    Masukkan akun database kluster tujuan AnalyticDB for MySQL 3.0. Untuk informasi tentang izin yang diperlukan, lihat Izin akun database.

    Database Password

    Masukkan password yang sesuai dengan akun database.

  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 lebih lanjut, 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. Anda hanya dapat memilih Full Data Synchronization. Schema Synchronization tidak didukung. Setelah Pemeriksaan Awal selesai, DTS menyinkronkan data objek terpilih dari instans sumber ke kluster tujuan. Ini berfungsi sebagai data dasar untuk sinkronisasi data inkremental berikutnya.

      DDL and DML Operations to Be Synchronized

      Pilih operasi inkremental yang akan disinkronkan di tingkat instans.

      Catatan

      Untuk memilih operasi inkremental yang akan disinkronkan di tingkat koleksi, klik kanan objek sinkronisasi di bagian Selected Objects dan pilih operasi yang diinginkan di kotak dialog yang muncul.

      Merge Tables

      • Pilih Yes: Dalam skenario OLTP, sharding database dan tabel sering digunakan untuk meningkatkan waktu respons tabel bisnis. Dalam skenario OLAP, seperti database tujuan pada contoh ini, satu tabel data dapat menyimpan data dalam jumlah besar, sehingga kueri tabel tunggal lebih nyaman. Dalam skenario seperti ini, Anda dapat menggunakan fitur penggabungan multi-tabel DTS untuk menyinkronkan beberapa tabel dengan skema yang sama (tabel sharded) dari database sumber ke satu tabel di database tujuan. Untuk petunjuk spesifik, lihat Aktifkan penggabungan multi-tabel.

        Catatan
        • Setelah memilih beberapa tabel dari database sumber, Anda harus menggunakan fitur pemetaan nama objek untuk mengubah nama tabel tersebut menjadi nama tabel yang sama di database tujuan. Untuk informasi lebih lanjut tentang fitur pemetaan nama objek, lihat Pemetaan nama tabel dan kolom.

        • DTS menambahkan kolom __dts_data_source bertipe teks ke tabel tujuan untuk menyimpan sumber data. Nilai kolom menggunakan format ID instans DTS:nama database:nama skema:nama tabel untuk mengidentifikasi asal tabel, misalnya, dts********:dtstestdata:testschema:customer1.

        • Fitur penggabungan multi-tabel berada di tingkat tugas, artinya Anda tidak dapat melakukan penggabungan multi-tabel di tingkat tabel. Jika Anda ingin menggabungkan beberapa tabel tetapi tidak yang lain, Anda perlu membuat dua tugas sinkronisasi data.

        Peringatan

        Jangan menjalankan operasi DDL untuk mengubah skema database atau tabel di database sumber. Jika tidak, ketidakkonsistenan data atau kegagalan tugas sinkronisasi dapat terjadi.

      • Pilih No. Ini adalah opsi default.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama ada di database tujuan. Jika tabel dengan nama yang sama tidak ada, pemeriksaan awal lolos. Jika tabel dengan nama yang sama ada, pemeriksaan awal gagal dan tugas sinkronisasi data tidak dimulai.

        Catatan

        Jika Anda tidak dapat menghapus atau mengganti nama tabel dengan nama yang sama di database tujuan, Anda dapat memetakannya ke nama tabel yang berbeda. Untuk informasi lebih lanjut, lihat Pemetaan nama tabel dan kolom.

      • Ignore Errors and Proceed: Melewati pemeriksaan nama tabel duplikat di database tujuan.

        Peringatan

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

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

          • Selama sinkronisasi penuh, DTS mempertahankan catatan di kluster tujuan. Catatan yang sesuai dari database sumber tidak disinkronkan.

          • Selama sinkronisasi inkremental, catatan dari database sumber menimpa catatan di database tujuan.

        • Jika skema tabel berbeda, sinkronisasi data awal mungkin gagal. Hal ini dapat mengakibatkan hanya data kolom parsial yang disinkronkan atau kegagalan sinkronisasi total. Harap berhati-hati.

      Source Objects

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

      Catatan

      Anda dapat memilih objek untuk disinkronkan di tingkat koleksi.

      Selected Objects

      1. Edit pemetaan nama database.

        1. Di daftar Selected Objects, klik kanan database yang berisi koleksi yang akan disinkronkan.

          Misalnya, klik kanan database dtsdb.

        2. Ubah Schema Name menjadi nama database yang akan menerima data di kluster tujuan AnalyticDB for MySQL 3.0.

        3. Opsional: Di area Select DDL and DML Operations to Be Synchronized, pilih operasi inkremental yang akan disinkronkan.

          Operasi DML yang tersedia adalah insert, update, dan delete. Anda dapat mengklik Select All untuk memilih semua operasi sekaligus.

        4. Klik OK.

      2. Edit pemetaan nama tabel.

        1. Klik kanan koleksi yang akan disinkronkan di daftar Selected Objects.

          Panel Objek Terpilih menampilkan objek yang akan disinkronkan dalam struktur pohon, dengan hierarki: Nama Database > Tipe Objek > Nama Objek Spesifik (misalnya, dtsdb > Tabel > class).

        2. Ubah Table Name menjadi nama tabel yang akan menerima data di kluster tujuan AnalyticDB for MySQL 3.0.

        3. Opsional: Atur kondisi filter untuk sinkronisasi data penuh. Untuk informasi lebih lanjut, lihat Atur kondisi filter.

          Di kotak input Kondisi Filter, masukkan pernyataan filter. Untuk ApsaraDB for MongoDB, sintaksis kondisi filter berbeda dari klausa WHERE SQL standar. Misalnya, untuk memfilter berdasarkan ID pengguna, masukkan {"_id": {$gt:"user100844658590795****",$lte:"user101674868045948****"}}, di mana gt berarti "lebih besar dari" dan lte berarti "kurang dari atau sama dengan".

        4. Opsional: Di area Select DDL and DML Operations to Be Synchronized, pilih operasi inkremental yang akan disinkronkan.

          Operasi DML yang tersedia adalah insert, update, dan delete.

      3. Konfigurasikan field yang akan disinkronkan dari MongoDB.

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

        Penting
        • Kolom kunci primer tabel tujuan harus diberi nilai bson_value("_id").

        • Saat mengonfigurasi ekspresi bson_value(), Anda harus menentukan hierarki hingga subfield terkecil. Jika tidak, kehilangan data atau kegagalan tugas dapat terjadi.

        1. Di ekspresi bson_value() di kolom Parameter Value, lihat nama field MongoDB untuk baris tersebut.

          Teks di dalam tanda kutip "" adalah nama field di MongoDB. Misalnya, jika ekspresinya adalah bson_value("age"), baris ini sesuai dengan field age di MongoDB.

        2. Opsional: Hapus field yang tidak perlu disinkronkan.

          Catatan

          Untuk menghapus field yang tidak perlu disinkronkan, klik image untuk baris tersebut.

        3. Konfigurasikan field yang akan disinkronkan.

          Lakukan operasi berikut berdasarkan apakah ekspresi bson_value() memenuhi kebutuhan Anda.

          Field dengan ekspresi yang cocok

          1. Masukkan Column Name.

            Catatan

            Masukkan nama kolom di tabel yang akan menerima data di kluster tujuan AnalyticDB for MySQL 3.0.

          2. Pilih Type untuk data kolom.

            Penting

            Pastikan tipe data di tabel tujuan kompatibel dengan data dari instans sumber MongoDB. Untuk informasi tentang pemetaan tipe data, lihat Pemetaan tipe data.

          3. Opsional: Konfigurasikan Length dan Precision data kolom.

          4. Ulangi langkah-langkah sebelumnya untuk memetakan setiap field yang relevan.

          Field dengan ekspresi yang tidak cocok

          Catatan

          Misalnya, field dengan struktur hirarkis (parent-child).

          1. Di kolom Operation, klik image untuk baris tersebut.

          2. Klik + Add Column. Di bagian Kolom Tambahan, klik + Tambah Kolom di pojok kanan atas.

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

          4. Di kotak teks di bawah Parameter Value, masukkan ekspresi bson_value(). Untuk informasi lebih lanjut, lihat Contoh penugasan nilai.

          5. Ulangi langkah-langkah sebelumnya untuk memetakan setiap field yang relevan.

      4. Klik OK.

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

      Parameter

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas di 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 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 coba ulang default adalah 720 menit. Anda juga dapat menentukan durasi 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 akan dilanjutkan secara otomatis. 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 coba 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 menagih berdasarkan waktu proses tugas selama periode coba ulang koneksi, kami merekomendasikan agar Anda menyesuaikan durasi coba 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-konektivitas lainnya pada database sumber atau tujuan (seperti exception eksekusi DDL atau DML), DTS melaporkan error dan segera mulai melakukan operasi coba ulang terus-menerus. Durasi coba ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi coba ulang dalam rentang 1 hingga 1.440 menit. Kami merekomendasikan agar Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi coba ulang yang ditetapkan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.

      Penting

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

      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 di 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 di data sumber dan menyinkronkan semua data.

      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.

      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. Pada contoh ini, Anda tidak perlu memilih tag.

      Configure ETL

      Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, dan muat (ETL). Untuk informasi lebih lanjut, 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.

  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 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.

  7. Beli instans.

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

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

      Kategori

      Parameter

      Deskripsi

      New Instance Class

      Metode Penagihan

      • Langganan: 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.

      • Bayar sesuai penggunaan: Anda ditagih per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat melepas instans segera setelah digunakan untuk menghemat biaya.

      Konfigurasi Kelompok Sumber Daya

      Kelompok sumber daya tempat instans berada. Default-nya adalah kelompok sumber daya default. Untuk informasi lebih lanjut, lihat Apa itu Manajemen Sumber Daya?.

      Spesifikasi Tautan

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

      Durasi Langganan

      Dalam mode langganan, 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 Sinkronisasi Data.

Pemetaan tipe data

Tipe MongoDB

Tipe AnalyticDB for MySQL 3.0

ObjectId

VARCHAR

String

VARCHAR

Document

VARCHAR

DbPointer

VARCHAR

Array

VARCHAR

Date

DATETIME

Timestamp

DATETIME

Double

DOUBLE

Integer 32-bit (BsonInt32)

INTEGER

Integer 64-bit (BsonInt64)

BIGINT

Decimal128

DECIMAL

Boolean

BOOLEAN

Null

VARCHAR

Konfigurasi pemetaan

Struktur data MongoDB sumber

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

Skema tabel tujuan AnalyticDB for MySQL

Parameter

Tipe

mongo_id

varchar

Catatan

Kolom ini adalah kunci primer.

person_name

varchar

person_age

decimal

Kolom baru

Penting

Anda harus menentukan path hirarki lengkap dalam ekspresi bson_value() untuk mencegah kehilangan data atau kegagalan tugas. Misalnya, jika Anda mengatur ekspresi menjadi bson_value("person"), DTS tidak dapat menyinkronkan data inkremental dari subfield objek person (seperti name, age, dan sex) ke tujuan.

Parameter

Tipe

Pemetaan

mongo_id

STRING

bson_value("_id")

person_name

STRING

bson_value("person","name")

person_age

DECIMAL

bson_value("person","age")