All Products
Search
Document Center

Data Transmission Service:Sinkronisasi data dari PolarDB for MySQL ke MaxCompute

Last Updated:Aug 28, 2026

Anda dapat menggunakan Data Transmission Service (DTS) untuk menyinkronkan data dari klaster PolarDB for MySQL ke MaxCompute.

Prasyarat

Batasan

Catatan

DTS tidak menyinkronkan kunci asing (foreign keys) dari database sumber ke database tujuan. Oleh karena itu, operasi cascade dan delete pada database sumber tidak disinkronkan ke database tujuan.

Jenis

Deskripsi

Batasan database sumber

  • Tabel yang akan disinkronkan harus memiliki primary key atau kendala UNIK (UNIQUE constraint), dan semua field harus unik. Jika tidak, data duplikat mungkin muncul di database tujuan.

  • Jika Anda menyinkronkan data tingkat tabel dan perlu mengedit tabel (misalnya, memetakan nama kolom), satu tugas sinkronisasi mendukung hingga 1.000 tabel. Jika melebihi batas ini, kesalahan akan dilaporkan saat Anda mengirimkan tugas. Untuk mengatasinya, bagi tabel menjadi beberapa tugas sinkronisasi atau sinkronkan seluruh database.

  • Log biner (Binary logs):

    • Anda harus mengaktifkan Binary logging dan mengatur parameter loose_polar_log_bin ke ON. Jika tidak, error akan dilaporkan selama Pemeriksaan Awal dan Instans DTS akan gagal dimulai. Untuk informasi selengkapnya tentang cara mengaktifkan Binary logging dan mengubah parameter, lihat Aktifkan Binary logging dan Atur parameter Kluster dan node.

      Catatan

      Mengaktifkan binary logging untuk klaster PolarDB for MySQL mengonsumsi storage space dan dikenai biaya.

    • Log biner klaster PolarDB for MySQL harus dipertahankan minimal selama 3 hari. Kami menyarankan untuk mempertahankannya selama 7 hari. Jika tidak, tugas DTS mungkin gagal karena DTS tidak dapat memperoleh log biner. Dalam kasus ekstrem, hal ini dapat menyebabkan inkonsistensi data atau kehilangan data. Masalah yang disebabkan oleh periode retensi log biner yang lebih pendek dari periode yang disyaratkan tidak dicakup oleh Perjanjian Tingkat Layanan (SLA) DTS.

      Catatan

      Untuk informasi selengkapnya tentang cara mengatur periode retensi Log biner kluster PolarDB for MySQL, lihat Ubah periode retensi.

  • Jangan menjalankan operasi DDL yang mengubah skema database atau tabel selama sinkronisasi skema atau sinkronisasi penuh. Jika tidak, tugas sinkronisasi akan gagal.

    Catatan

    Selama sinkronisasi penuh, DTS melakukan kueri ke database sumber. Hal ini membuat kunci metadata (metadata locks) yang dapat memblokir operasi DDL pada database sumber.

Batasan lainnya

  • Anda tidak dapat menyinkronkan data dari node read-only klaster sumber PolarDB for MySQL.

  • Anda tidak dapat menyinkronkan tabel eksternal OSS dari klaster sumber PolarDB for MySQL.

  • Sinkronisasi INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER, dan FK tidak didukung.

  • Failover primer/sekunder pada instans database tidak didukung selama sinkronisasi data penuh awal. Jika failover terjadi, konfigurasi ulang tugas sinkronisasi.

  • Sebelum menyinkronkan data, evaluasi kinerja database sumber dan tujuan. Kami menyarankan untuk menyinkronkan data selama jam sepi. Jika tidak, sinkronisasi data penuh awal akan mengonsumsi sumber daya baca dan tulis pada kedua database, yang dapat meningkatkan beban database.

  • Sinkronisasi data penuh awal menjalankan operasi INSERT secara konkuren, yang menyebabkan fragmentasi pada tabel database tujuan. Akibatnya, ruang tabel (tablespace) instans tujuan lebih besar daripada instans sumber setelah sinkronisasi data penuh awal.

  • Untuk sinkronisasi data tingkat tabel, jangan gunakan alat seperti pt-online-schema-change untuk melakukan operasi DDL Online pada objek sinkronisasi di database sumber. Jika tidak, sinkronisasi akan gagal.

  • Untuk sinkronisasi data tingkat tabel, jika tidak ada data selain data dari DTS yang ditulis ke database tujuan, Anda dapat menggunakan Data Management (DMS) untuk melakukan operasi DDL Online. Untuk informasi selengkapnya, lihat Ubah skema tanpa mengunci tabel.

  • Selama sinkronisasi DTS, jangan menulis data selain data DTS ke database tujuan. Jika tidak, inkonsistensi data antara database sumber dan tujuan mungkin terjadi. Misalnya, jika Anda menggunakan DMS untuk melakukan operasi DDL Online sementara data lain sedang ditulis ke database tujuan, data mungkin hilang.

  • Karena MaxCompute tidak mendukung kendala primary key, catatan duplikat mungkin muncul di MaxCompute jika DTS mengirim ulang data karena masalah jaringan atau alasan lain.

  • Jika suatu tugas gagal, staf dukungan DTS akan berusaha 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 dalam Modifikasi parameter instans.

Catatan lainnya

DTS secara berkala menjalankan perintah CREATE DATABASE IF NOT EXISTS `test` pada database sumber untuk memajukan offset log biner.

Penagihan

Jenis sinkronisasi

Harga

Sinkronisasi skema dan sinkronisasi data penuh

Gratis.

Sinkronisasi data inkremental

Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.

Topologi sinkronisasi yang didukung

  • Sinkronisasi satu arah satu-ke-satu

  • Sinkronisasi satu arah satu-ke-banyak

  • Sinkronisasi satu arah kaskade

  • Sinkronisasi satu arah banyak-ke-satu

Untuk informasi selengkapnya tentang topologi sinkronisasi dan batasannya, lihat Pengenalan topologi sinkronisasi data.

Operasi SQL yang didukung

Jenis operasi

Pernyataan SQL

DML

INSERT, UPDATE, dan DELETE

DDL

ADD COLUMN (ADD COLUMN dengan kolom atribut tidak didukung)

Cara kerja

  1. Sinkronisasi skema — DTS mereplikasi skema tabel dari database sumber ke MaxCompute dengan menambahkan _base ke setiap nama tabel. Misalnya, tabel sumber customer menjadi customer_base di MaxCompute.

  2. Sinkronisasi data penuh — DTS memuat semua data historis dari sumber ke tabel _base (disebut *tabel garis dasar penuh*). Snapshot ini menjadi titik awal untuk sinkronisasi inkremental.

  3. Sinkronisasi data inkremental — DTS membuat tabel log inkremental di MaxCompute, dinamai sesuai tabel tujuan dengan akhiran _log (misalnya, customer_log), dan menyinkronkan perubahan data inkremental dari database sumber ke tabel ini secara real time.

    Catatan

    Untuk informasi selengkapnya tentang struktur tabel log inkremental, lihat Definisi skema tabel log inkremental.

Prosedur

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

    Dari Konsol DTS

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

    2. Di panel navigasi sebelah 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 selengkapnya, lihat Mode sederhana dan Sesuaikan tata letak dan gaya antarmuka DMS.

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

    Pengaturan

    Deskripsi

    N/A

    Task Name

    DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama tersebut tidak harus unik.

    Source Database

    Select Existing Connection

    • Untuk menggunakan instans database yang telah 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 manual informasi database berikut.

    Database Type

    Pilih PolarDB for MySQL.

    Connection Type

    Pilih Alibaba Cloud Instance.

    Instance Region

    Pilih wilayah tempat klaster sumber PolarDB for MySQL berada.

    Cross-account

    Dalam contoh ini, sumber dan tujuan berada dalam Akun Alibaba Cloud yang sama. Pilih No.

    PolarDB Cluster ID

    Pilih ID klaster klaster sumber PolarDB for MySQL.

    Database Account

    Masukkan akun database untuk klaster sumber PolarDB for MySQL. Akun tersebut harus memiliki izin baca pada objek yang disinkronkan.

    Database Password

    Masukkan password yang sesuai dengan akun database.

    Encryption

    Pilih opsi berdasarkan kebutuhan Anda. Untuk informasi selengkapnya, lihat Konfigurasikan enkripsi SSL.

    Destination Database

    Select Existing Connection

    • Untuk menggunakan instans database yang telah 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 manual informasi database berikut.

    Database Type

    Pilih MaxCompute.

    Connection Type

    Pilih Alibaba Cloud Instance.

    Instance Region

    Pilih wilayah tempat proyek MaxCompute tujuan berada.

    Project

    Masukkan nama proyek MaxCompute.

    AccessKey ID of Alibaba Cloud Account

    Masukkan pasangan AccessKey yang Anda buat di bagian Prasyarat.

    AccessKey Secret of Alibaba Cloud Account

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

    Catatan

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

  5. Klik OK untuk mengotorisasi akun ODPS, lalu klik Test Connectivity and Proceed lagi.

  6. Konfigurasikan objek tugas.

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

      Pengaturan

      Deskripsi

      Synchronization Types

      Jenis sinkronisasi. Secara default, Incremental Data Synchronization dipilih. Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS menyinkronkan data historis objek yang dipilih dari database sumber ke klaster tujuan. Data historis ini menjadi dasar untuk sinkronisasi inkremental selanjutnya.

      Naming Rules of Additional Columns

      DTS menambahkan kolom tambahan ke tabel tujuan di MaxCompute. Jika nama kolom tambahan bertabrakan dengan kolom yang sudah ada, tugas sinkronisasi akan gagal. Pilih New Rule atau Previous Rule berdasarkan kebutuhan bisnis Anda.

      Peringatan

      Sebelum memilih aturan, periksa apakah nama kolom tambahan bertabrakan dengan kolom yang sudah ada di tabel tujuan. Jika tidak, tugas mungkin gagal atau data bisa hilang. Untuk informasi selengkapnya tentang aturan dan definisi kolom tambahan, lihat Names and definitions of additional columns.

      Partition Definition of Incremental Data Table

      Pilih nama partisi berdasarkan kebutuhan bisnis Anda. Untuk informasi selengkapnya tentang partisi, lihat Partitions.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama sudah ada di database tujuan. Jika tidak ada tabel dengan nama yang sama, pemeriksaan awal lolos. Jika ada tabel dengan nama yang sama, 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 selengkapnya, lihat Map table and column names.

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

        Peringatan

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

        • Jika skema tabel sama dan catatan di database tujuan memiliki nilai primary key atau unique key yang sama dengan catatan di database sumber:

          • Selama sinkronisasi penuh, DTS mempertahankan catatan di klaster 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. Lakukan dengan hati-hati.

      Capitalization of Object Names in Destination Instance

      Anda dapat mengonfigurasi kebijakan sensitivitas huruf besar/kecil untuk nama objek database, tabel, dan kolom yang disinkronkan ke instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk menggunakan kebijakan default database sumber dan tujuan. Untuk informasi selengkapnya, 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.

      Catatan

      Anda dapat memilih objek tingkat tabel.

      Selected Objects

      • Untuk mengganti nama satu objek sinkronisasi di instans tujuan, klik kanan objek di kotak Selected Objects. Untuk informasi selengkapnya tentang mengganti nama objek, lihat Map a single database, table, or column.

      • Untuk mengubah nama beberapa objek sinkronisasi di instans tujuan secara batch, klik Batch Edit di pojok kanan atas kotak Selected Objects. Untuk informasi selengkapnya, lihat Map databases, tables, and columns in a batch.

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

      Pengaturan

      Deskripsi

      Dedicated Cluster for Task Scheduling

      Secara default, DTS menjadwalkan tugas pada kluster bersama, dan Anda tidak perlu memilih kluster. Untuk kinerja yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi selengkapnya, lihat 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 kesalahan dan segera mulai mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi kustom dari 10 hingga 1.440 menit. Kami menyarankan 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 akan 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 menagih waktu proses tugas selama periode percobaan ulang koneksi, kami menyarankan Anda menyesuaikan durasi percobaan ulang berdasarkan kebutuhan bisnis atau segera rilis instans DTS setelah instans database sumber dan tujuan dirilis.

      Retry Time for Other Issues

      Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-konektivitas lainnya pada database sumber atau tujuan (seperti pengecualian eksekusi DDL atau DML), DTS melaporkan kesalahan dan segera memulai 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 menyarankan Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.

      Penting

      Nilai untuk Retry Time for Other Issues harus lebih kecil daripada nilai untuk 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 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).

      Whether to delete SQL operations on heartbeat tables of forward and reverse tasks

      Pilih apakah akan menulis informasi SQL heartbeat ke database sumber saat instans DTS berjalan.

      • Yes: Informasi SQL heartbeat tidak ditulis ke database sumber. Hal ini dapat menyebabkan instans DTS melaporkan keterlambatan.

      • No: Menulis informasi SQL heartbeat ke database sumber. Hal ini dapat mengganggu fitur seperti backup fisik dan kloning database sumber.

      Environment Tag

      Pilih tag lingkungan untuk mengidentifikasi instans. Tidak wajib untuk contoh ini.

      Configure ETL

      Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat What is 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.

  7. 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 kembali pemeriksaan awal.

    • 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 kembali pemeriksaan awal.

      • 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 inkonsistensi data dan menimbulkan risiko bagi bisnis Anda.

  8. Beli instans.

    1. Saat 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 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 dibandingkan bayar sesuai penggunaan. Semakin lama durasi langganan, semakin tinggi diskonnya.

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

      Resource Group Configuration

      Kelompok sumber daya tempat instans tersebut berada. Default-nya adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat What is Resource Management?.

      Link Specification

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

      Subscription Duration

      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 saat metode penagihan adalah Subscription.

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

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

      Anda dapat melihat progres tugas di halaman Data Synchronization.

Definisi skema tabel log inkremental

Sebelum mengkueri tabel data inkremental, jalankan perintah berikut di MaxCompute untuk mengizinkan pemindaian tabel penuh:

set odps.sql.allow.fullscan=true;

Setiap tabel _log menyimpan event perubahan dari sumber. Selain data kolom asli, DTS menambahkan field metadata berikut ke setiap baris:

Field

Deskripsi

record_id

Pengidentifikasi unik untuk entri log. Nilainya otomatis bertambah untuk setiap entri baru. Untuk operasi UPDATE, DTS menghasilkan dua entri (sebelum dan sesudah perubahan) dengan record_id yang sama.

operation_flag

Jenis operasi: I (INSERT), D (DELETE), U (UPDATE).

utc_timestamp

Timestamp operasi dalam UTC, sesuai dengan timestamp file log biner.

before_flag

Y jika baris berisi nilai sebelum update; N jika tidak.

after_flag

Y jika baris berisi nilai setelah update; N jika tidak.

Membaca event UPDATE: DTS menulis dua baris untuk setiap UPDATE—satu dengan before_flag=Y (nilai asli) dan satu dengan after_flag=Y (nilai baru). Kedua baris tersebut memiliki record_id yang sama.