全部产品
Search
文档中心

Data Transmission Service:Menyinkronkan data dari instans ApsaraDB untuk MongoDB ke klaster PolarDB untuk MySQL

更新时间:Jul 06, 2025

Topik ini menjelaskan cara menyinkronkan data dari replika set ApsaraDB untuk MongoDB ke klaster PolarDB untuk MySQL menggunakan Data Transmission Service (DTS).

Prasyarat

  • Jika database sumber adalah klaster sharded ApsaraDB untuk MongoDB, Anda harus mengajukan titik akhir untuk semua node shard. Node shard dalam instance klaster sharded harus berbagi kata sandi dan titik akhir yang sama. Untuk informasi lebih lanjut tentang cara mengajukan titik akhir, lihat Ajukan Titik Akhir untuk Shard.

  • Instans tujuan ApsaraDB RDS untuk MySQL telah dibuat. Ruang penyimpanan yang tersedia di instans ini lebih besar daripada ukuran total data di database sumber. Untuk informasi lebih lanjut, lihat Pembelian Kustom dan Beli Klaster Langganan.

    Catatan

    Ruang penyimpanan yang tersedia di database tujuan direkomendasikan minimal 10% lebih besar daripada ukuran total data di database sumber.

  • Sebuah database dan tabel dengan kolom kunci utama telah dibuat di klaster tujuan PolarDB untuk MySQL untuk menerima data. Untuk informasi lebih lanjut, lihat Kelola Database.

    Penting
    • Pastikan bahwa tipe data tabel tujuan kompatibel dengan data di instans ApsaraDB for MongoDB. Sebagai contoh, jika bidang _id

      Pastikan tipe data tabel tujuan kompatibel dengan data di instans ApsaraDB untuk MongoDB. Sebagai contoh, jika bidang _id pada instans ApsaraDB untuk MongoDB adalah tipe ObjectId, tipe data klaster PolarDB untuk MySQL harus varchar.

    • Hindari menamai kolom tabel tujuan di klaster PolarDB untuk MySQL sebagai _id atau _value.

Catatan Penggunaan

Tipe

Deskripsi

Batas pada database sumber

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

    • Jika Anda memilih koleksi sebagai objek yang akan disinkronkan dan ingin memodifikasi koleksi di database tujuan, seperti mengganti nama koleksi, Anda dapat menyinkronkan hingga 1.000 koleksi dalam satu tugas sinkronisasi data. Jika Anda menjalankan tugas untuk menyinkronkan lebih dari 1.000 koleksi, kesalahan permintaan terjadi. Dalam hal ini, kami sarankan Anda mengonfigurasi beberapa tugas untuk menyinkronkan koleksi tersebut.

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

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

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

    • Fitur oplog diaktifkan untuk database sumber dan log operasi database sumber dipertahankan selama minimal tujuh hari. Atau, aliran perubahan diaktifkan untuk database sumber dan DTS dapat menggunakan aliran perubahan untuk berlangganan perubahan data di database sumber dalam tujuh hari terakhir. Jika tidak, DTS mungkin gagal mendapatkan log operasi dan tugas sinkronisasi data mungkin gagal. Dalam keadaan luar biasa, inkonsistensi data atau kehilangan data mungkin terjadi. Perjanjian tingkat layanan (SLA) DTS tidak mencakup masalah ini.

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

      • Anda hanya dapat menggunakan aliran perubahan untuk mendapatkan perubahan data di database sumber jika database sumber menjalankan MongoDB V4.0 atau lebih baru.

      • Jika database sumber adalah klaster inelastis Amazon DocumentDB, Anda harus mengaktifkan aliran perubahan untuk database dan mengatur parameter Migration Method menjadi ChangeStream dan parameter Architecture menjadi Sharded Cluster saat Anda mengonfigurasi tugas sinkronisasi data.

    • Batas pada operasi yang akan dilakukan pada database sumber:

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

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

    • Jika database sumber adalah instance klaster sharded ApsaraDB untuk MongoDB, dan balancer ApsaraDB untuk MongoDB diaktifkan, instance mungkin tertunda.

Batas lainnya

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

  • Tabel yang digunakan untuk menerima data di klaster tujuan PolarDB untuk MySQL harus memiliki kolom kunci utama unik, bukan kunci utama komposit. Selain itu, saat Anda mengonfigurasi bidang migrasi di bagian Selected Objects, Assign Value dari bson_value("_id") ke kunci utama unik.

  • Tabel yang digunakan untuk menerima data di klaster tujuan PolarDB untuk MySQL tidak boleh mengandung bidang yang bernama _id atau _value. Jika tidak, tugas sinkronisasi data gagal.

  • Jika tipe data instans tujuan ApsaraDB RDS untuk MySQL tidak kompatibel dengan data di instans ApsaraDB untuk MongoDB, tugas sinkronisasi data gagal.

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

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

  • Jika data yang akan disinkronkan mengandung konten yang memerlukan ruang penyimpanan empat byte, seperti emoji, database dan tabel di instans tujuan harus menggunakan set karakter utf8mb4.

    Catatan

    Jika Anda menggunakan DTS untuk menyinkronkan struktur tabel database, Anda perlu mengatur parameter tingkat instans character_set_server di database tujuan menjadi utf8mb4.

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

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

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

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

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

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

    Catatan

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

Penagihan

Tipe Sinkronisasi

Biaya Konfigurasi Tugas

Sinkronisasi Data Penuh

Gratis.

Sinkronisasi Data Tambahan

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

Tipe Sinkronisasi

Tipe Sinkronisasi

Deskripsi

Sinkronisasi Data Penuh

DTS menyinkronkan data historis objek dari instans ApsaraDB untuk MongoDB ke klaster PolarDB untuk MySQL.

Sinkronisasi Data Tambahan

Setelah sinkronisasi data penuh selesai, DTS menyinkronkan data tambahan dari instans ApsaraDB untuk MongoDB ke klaster PolarDB untuk MySQL.

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

  • Data tambahan dokumen yang diperbarui hanya dengan menggunakan perintah $set dapat disinkronkan.

Izin yang Diperlukan untuk Akun Database

Tipe Database

Izin yang Diperlukan

Referensi

Instans Sumber ApsaraDB untuk MongoDB

Izin baca pada database sumber, database admin, dan database lokal

Manajemen Akun

Klaster Tujuan PolarDB untuk MySQL

Izin baca dan tulis pada database tujuan

Buat dan kelola akun database

Prosedur

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

    Konsol DTS

    1. Masuk ke Konsol DTS.

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

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

    Konsol DMS

    Catatan

    Operasi aktual dapat bervariasi berdasarkan mode dan tata letak konsol DMS. Untuk informasi lebih lanjut, lihat Mode Sederhana dan Kustomisasi Tata Letak dan Gaya Konsol DMS.

    1. Masuk ke Konsol DMS.

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

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

  2. Klik Create Task untuk membuka halaman konfigurasi tugas.

  3. Opsional. Klik New Configuration Page di sudut kanan atas halaman.

    Catatan
    • Lewati langkah ini jika tombol Back to Previous Version ditampilkan di sudut kanan atas halaman.

    • Parameter spesifik di versi baru dan sebelumnya halaman konfigurasi mungkin berbeda. Kami sarankan Anda menggunakan versi baru halaman konfigurasi.

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

    Kategori

    Konfigurasi

    Deskripsi

    N/A

    Task Name

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

    Source Database

    Select Existing Connection

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

      Catatan

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

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

    Database Type

    Tipe database sumber. Pilih MongoDB.

    Access Method

    Metode akses database sumber. Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah tempat instans sumber ApsaraDB untuk MongoDB berada.

    Replicate Data Across Alibaba Cloud Accounts

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

    Architecture

    Arsitektur instans ApsaraDB untuk MongoDB sumber. Dalam contoh ini, Replica Set dipilih.

    Catatan

    Jika database sumber adalah instans klaster sharded ApsaraDB untuk MongoDB Sharded Cluster, Anda harus menentukan Shard account dan Shard password.

    Migration Method

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

    • Oplog (direkomendasikan):

      Opsi ini tersedia jika fitur oplog diaktifkan untuk database sumber.

      Catatan

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

    • ChangeStream:

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

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

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

    Instance ID

    ID instans sumber ApsaraDB untuk MongoDB.

    Authentication Database

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

    Database Account

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

    Database Password

    Kata sandi yang digunakan untuk mengakses database.

    Encryption

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

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

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

    Destination Database

    Select Existing Connection

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

      Catatan

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

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

    Database Type

    Tipe database tujuan. Pilih PolarDB for MySQL.

    Access Method

    Metode akses database tujuan. Pilih Alibaba Cloud Instance.

    Instance Region

    Wilayah tempat instans klaster tujuan PolarDB untuk MySQL berada.

    Replicate Data Across Alibaba Cloud Accounts

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

    PolarDB Cluster ID

    ID klaster tujuan PolarDB untuk MySQL.

    Database Account

    Akun database klaster tujuan PolarDB untuk MySQL. Untuk informasi tentang izin yang diperlukan untuk akun tersebut, lihat bagian Izin yang Diperlukan untuk Akun Database dari topik ini.

    Database Password

    Kata sandi yang digunakan untuk mengakses database.

    Encryption

    Anda dapat menentukan parameter berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut tentang fitur enkripsi SSL, lihat Konfigurasikan Enkripsi SSL.

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

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

    • Jika database sumber atau tujuan adalah database yang dikelola sendiri dan Access Method-nya tidak diatur ke Alibaba Cloud Instance, klik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.

  6. Konfigurasikan objek yang akan disinkronkan.

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

      Konfigurasi

      Deskripsi

      Synchronization Types

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

      Processing Mode of Conflicting Tables

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

        Catatan

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

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

        Peringatan

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

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

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

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

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

      Capitalization of Object Names in Destination Instance

      Penggunaan huruf besar/kecil nama database, nama tabel, dan nama kolom di instans tujuan. Secara default, DTS default policy dipilih. Anda dapat memilih opsi lain untuk memastikan bahwa penggunaan huruf besar/kecil nama objek konsisten dengan yang ada di database sumber atau tujuan. Untuk informasi lebih lanjut, lihat Tentukan Penggunaan Huruf Besar/Kecil Nama Objek di Instans Tujuan.

      Source Objects

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

      Catatan

      Anda dapat memilih koleksi sebagai objek yang akan disinkronkan.

      Selected Objects

      1. Ubah nama database.

        • Di bagian Selected Objects, klik kanan database tempat koleksi yang akan disinkronkan berada.

          image

        • Ubah Schema Name menjadi nama database di klaster PolarDB untuk MySQL yang menerima data.

          image

        • Klik OK.

      2. Ubah nama tabel.

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

          image

        2. Ubah nilai Table Name menjadi nama tabel yang digunakan untuk menerima data di klaster tujuan PolarDB untuk MySQL.

          image

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

          image

        4. Opsional: Di bagian Select DDL and DML Operations to Be Synchronized, Anda dapat memilih operasi yang ingin disinkronkan selama sinkronisasi data tambahan.

          image

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

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

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

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

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

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

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

          Catatan

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

        3. Tentukan bidang yang akan disinkronkan.

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

        Ekspresi memenuhi persyaratan bidang

        1. Konfigurasikan parameter Column Name.

          Catatan

          Masukkan nama kolom di tabel yang digunakan untuk menerima data di klaster tujuan PolarDB untuk MySQL.

        2. Pilih tipe data Type untuk setiap kolom.

          Penting

          Pastikan bahwa tipe data tabel tujuan kompatibel dengan data di instans sumber ApsaraDB untuk MongoDB. Untuk informasi lebih lanjut tentang pemetaan tipe data, lihat bagian Pemetaan Tipe Data dari topik ini.

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

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

        Ekspresi tidak memenuhi persyaratan bidang

        Catatan

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

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

        2. Klik + Add Column.image

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

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

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

      4. Klik OK.

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

      Konfigurasi

      Deskripsi

      Dedicated Cluster for Task Scheduling

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

      Select the engine type of the destination database

      Tipe mesin database tujuan. Pilih tipe mesin berdasarkan kebutuhan bisnis Anda. Nilai valid:

      • InnoDB: mesin penyimpanan default.

      • X-Engine: mesin penyimpanan database untuk pemrosesan transaksi online (OLTP).

      Retry Time for Failed Connections

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

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

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

      Retry Time for Other Issues

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

      Penting

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

      Enable Throttling for Full Data Synchronization

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

      Catatan

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

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

      Hanya satu tipe data untuk kunci utama _id dalam koleksi tunggal data yang akan disinkronkan.

      Catatan

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

      • Yes: Selama sinkronisasi data penuh, DTS tidak memindai tipe data untuk kunci utama dalam data yang akan disinkronkan dari database sumber.

      • No: Selama sinkronisasi data penuh, DTS memindai tipe data untuk kunci utama dalam data yang akan disinkronkan dari database sumber.

      Enable Throttling for Incremental Data Synchronization

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

      Environment Tag

      Anda dapat memilih tag lingkungan berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, tidak ada tag lingkungan yang dipilih.

      Configure ETL

      Menentukan apakah akan mengaktifkan fitur ekstrak, transform, dan muat (ETL). Untuk informasi lebih lanjut, lihat Apa itu ETL? Nilai valid:

      Monitoring and Alerting

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

      • No: tidak mengaktifkan peringatan.

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

  7. Simpan pengaturan tugas dan jalankan pra-pemeriksaan.

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

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

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

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

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

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

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

  8. Beli instance.

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

    2. Di halaman buy, konfigurasikan parameter Metode Penagihan dan Kelas Instans untuk tugas sinkronisasi data. Tabel berikut menjelaskan parameter.

      Bagian

      Parameter

      Deskripsi

      New Instance Class

      Metode Penagihan

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

      • Bayar sesuai pemakaian: Instance bayar sesuai pemakaian dibebankan per jam. Metode penagihan bayar sesuai pemakaian cocok untuk penggunaan jangka pendek. Jika Anda tidak lagi memerlukan instance sinkronisasi data bayar sesuai pemakaian, Anda dapat melepaskan instance untuk mengurangi biaya.

      Pengaturan Grup Sumber Daya

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

      Kelas Instans

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

      Durasi Langganan

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

      Catatan

      Parameter ini hanya tersedia jika Anda memilih metode penagihan Subscription.

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

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

      Anda dapat melihat kemajuan tugas di daftar tugas.

Pemetaan Tipe Data

Tipe Data MongoDB

Tipe Data PolarDB untuk MySQL

ObjectId

VARCHAR

String

VARCHAR

Document

VARCHAR

DbPointer

VARCHAR

Array

VARCHAR

Date

DATETIME

TimeStamp

DATETIME

Double

DOUBLE

Bilangan bulat 32-bit (BsonInt32)

INTEGER

Bilangan bulat 64-bit (BsonInt64)

BIGINT

Decimal128

DECIMAL

Boolean

BOOLEAN

Null

VARCHAR

Contoh Penetapan Nilai

Struktur data instans sumber ApsaraDB untuk MongoDB

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

Skema tabel klaster tujuan PolarDB untuk MySQL

Nama Kolom

Tipe

mongo_id

varchar

Catatan

Kolom kunci utama.

person_name

varchar

person_age

decimal

Konfigurasi kolom baru

Penting

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

Nama Kolom

Tipe

Penetapan

mongo_id

STRING

bson_value("_id")

person_name

STRING

bson_value("person","name")

person_age

DECIMAL

bson_value("person","age")