All Products
Search
Document Center

ApsaraDB for ClickHouse:Sinkronisasi ApsaraDB RDS for MySQL ke ApsaraDB for ClickHouse dengan zero-ETL

Last Updated:Jul 18, 2026

ApsaraDB for ClickHouse menyediakan fitur integrasi data zero-ETL untuk menyinkronkan data dari RDS MySQL ke ApsaraDB for ClickHouse tanpa perlu membangun atau memelihara pipa sinkronisasi data. Fitur ini tidak dikenai biaya serta mengurangi biaya transfer data dan operasional serta pemeliharaan (O&M).

Ikhtisar

Bisnis sering kali mengelola data operasional yang tersebar di berbagai sistem.

ETL (Extract, Transform, Load) mengkonsolidasikan data dari sistem bisnis hulu ke dalam gudang data untuk analisis.

Alur kerja ETL tradisional menghadirkan tantangan berikut:

  • Biaya sumber daya tinggi: Berbagai sumber data sering kali memerlukan alat ETL yang berbeda, dan pembuatan pipa tersebut menimbulkan biaya tambahan.

  • Kompleksitas sistem tinggi: Pemeliharaan alat ETL meningkatkan kompleksitas operasional dan mengalihkan fokus dari pengembangan aplikasi.

  • Latensi data: Pembaruan batch berkala yang umum dalam ETL dapat menunda analisis dalam skenario near-real-time.

Untuk mengatasi masalah ini, Alibaba Cloud menyediakan fitur zero-ETL yang secara otomatis membangun pipa data antara sistem pemrosesan transaksi online (OLTP) dan gudang data pemrosesan analitik online (OLAP). Fitur ini mengekstraksi, mentransformasi, dan memuat data secara otomatis, menyediakan solusi terpadu yang mengintegrasikan pemrosesan transaksi dengan analitik data sehingga Anda dapat fokus pada analisis.

Manfaat

  • Mudah digunakan: Pilih sumber data dan instans tujuan, lalu sistem secara otomatis membuat pipa data real-time. Tidak perlu membangun atau memelihara pipa ETL yang kompleks, sehingga Anda dapat fokus pada pengembangan aplikasi.

  • Tanpa biaya: Pipa zero-ETL tidak dikenai biaya. Anda dapat menganalisis data hulu di gudang data tanpa biaya tambahan.

  • Agregasi multi-sumber: Sinkronkan data dari beberapa instans ke satu instans ApsaraDB for ClickHouse secara real-time untuk membangun tampilan analitik yang komprehensif.

    Catatan

    Jika Anda menyinkronkan data dari beberapa instans ke satu instans ApsaraDB for ClickHouse, objek sinkronisasi dalam tugas yang berbeda tidak boleh tumpang tindih.

Pipa yang didukung

ApsaraDB RDS for MySQL ke ApsaraDB for ClickHouse

Penagihan

Pipa sinkronisasi zero-ETL tidak dikenai biaya.

Prasyarat

Batasan

Jenis

Deskripsi

Batasan pada ApsaraDB RDS for MySQL

  • Tabel tanpa kunci primer tidak dapat disinkronkan.

  • Operasi RENAME TABLE tidak didukung.

  • Jika Anda menyinkronkan data di tingkat tabel dan perlu mengedit objek, seperti pemetaan nama tabel atau kolom, satu tugas sinkronisasi data mendukung maksimal 1.000 tabel. Jika melebihi batas ini, kesalahan akan dilaporkan setelah Anda mengirimkan tugas. Dalam kasus ini, pisahkan tabel menjadi beberapa tugas atau konfigurasikan tugas untuk menyinkronkan seluruh database.

  • Log biner:

    • ApsaraDB RDS for MySQL mengaktifkan binary logging secara default. Pastikan parameter binlog_row_image diatur ke full. Jika tidak, pemeriksaan awal gagal dan tugas sinkronisasi tidak dapat dimulai. Untuk petunjuknya, lihat Konfigurasi parameter instans.

      Penting
      • Jika instans sumber Anda adalah database MySQL yang dikelola sendiri, aktifkan binary logging dan atur binlog_format ke row serta binlog_row_image ke full.

      • Jika database MySQL yang dikelola sendiri Anda merupakan kluster dual-primary (kedua node berperan sebagai primary dan secondary), aktifkan parameter log_slave_updates agar DTS dapat menangkap semua event log biner. Untuk petunjuknya, lihat Buat akun dan konfigurasi binary logging untuk database MySQL yang dikelola sendiri.

    • Log biner lokal untuk instans ApsaraDB RDS for MySQL harus dipertahankan minimal tiga hari (tujuh hari direkomendasikan). Untuk database MySQL yang dikelola sendiri, pertahankan log biner lokal minimal tujuh hari. Jika tidak, DTS mungkin gagal mengambil log biner, menyebabkan tugas gagal. Dalam kasus ekstrem, hal ini dapat menyebabkan inkonsistensi data atau kehilangan data. Masalah yang disebabkan oleh periode retensi log biner lebih pendek dari yang dipersyaratkan DTS tidak dicakup dalam SLA DTS.

      Catatan

      Untuk mengonfigurasi retention period log biner lokal pada instans ApsaraDB RDS for MySQL, lihat Hapus log lokal secara otomatis.

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

    Catatan

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

  • Data yang dihasilkan oleh perubahan yang tidak ditulis ke log biner—seperti data yang dipulihkan dari backup fisik atau dibuat oleh operasi kaskade—tidak disinkronkan ke database tujuan.

    Catatan

    Jika hal ini terjadi, hapus database atau tabel yang terpengaruh dari objek sinkronisasi. Kemudian tambahkan kembali. Anda hanya dapat melakukan ini jika bisnis Anda mengizinkannya. Untuk informasi selengkapnya, lihat Ubah objek sinkronisasi.

  • Jika database sumber Anda menggunakan MySQL 8.0.23 atau versi lebih baru dan berisi kolom tersembunyi tak terlihat, DTS mungkin tidak membaca kolom tersebut. Hal ini dapat menyebabkan kehilangan data.

    Catatan

    Jalankan perintah ALTER TABLE <table_name> ALTER COLUMN <column_name> SET VISIBLE; untuk membuat kolom tersembunyi menjadi terlihat. Untuk informasi selengkapnya, lihat Invisible Columns.

  • Jika instans ApsaraDB RDS for MySQL Anda telah mengaktifkan Always-Encrypted, sinkronisasi data penuh tidak didukung.

    Catatan

    Instans ApsaraDB RDS for MySQL yang telah mengaktifkan Enkripsi Data Transparan (TDE) mendukung sinkronisasi skema, sinkronisasi data penuh, dan sinkronisasi data inkremental.

  • Instans ApsaraDB RDS for MySQL read-only yang tidak mencatat log transaksi, seperti instans ApsaraDB RDS for MySQL 5.6 read-only, tidak didukung sebagai database sumber.

  • Fitur zero-ETL secara berkala menjalankan perintah CREATE DATABASE IF NOT EXISTS `test` pada database sumber untuk memajukan offset log biner.

Batasan lainnya

Data bertipe waktu di ApsaraDB for ClickHouse memiliki batasan rentang. Jika data waktu di RDS MySQL berada di luar rentang tersebut, waktu yang disinkronkan ke ApsaraDB for ClickHouse akan salah. Untuk informasi tentang batasan rentang, lihat Informasi waktu.

Catatan penggunaan

  • Catatan saat membuat pipa zero-ETL

    Jika jumlah tautan zero-ETL untuk kluster ApsaraDB for ClickHouse mencapai batas, Anda tidak dapat membuat tautan baru. Anda dapat menggunakan DTS untuk membuat tautan sinkronisasi, atau hapus tautan zero-ETL yang tidak digunakan. Batasannya adalah sebagai berikut:

    • Jumlah maksimum tautan dalam kluster Edisi Perusahaan dihitung menggunakan rumus [Batas bawah CCU kluster / 8] dan hasilnya dibulatkan ke atas. Misalnya, jika kluster memiliki batas bawah CCU sebesar 22 dan batas atas CCU sebesar 36, perhitungan menggunakan batas bawah 22. Hasilnya adalah 22 / 8 = 2,75, yang dibulatkan ke atas menjadi 3. Artinya, Anda dapat membuat maksimal 3 tautan zero-ETL.

    • Jumlah maksimum tautan untuk kluster Edisi Komunitas: [Jumlah total core kluster / 8]. Hasilnya dibulatkan ke atas. Misalnya, untuk kluster dengan dua node 8-core 32 GB, jumlah total core CPU adalah 8*2=16. Jumlah maksimum tautan dihitung sebagai 16/8=2. Artinya, Anda dapat membuat maksimal 2 tautan zero-ETL.

  • Catatan tentang tugas sinkronisasi

    • Jika pernyataan DDL dari instans RDS MySQL sumber tidak mengikuti sintaks standar MySQL, tugas sinkronisasi mungkin gagal atau data bisa hilang.

    • Jumlah database yang akan disinkronkan tidak melebihi batas ApsaraDB for ClickHouse, yaitu 256.

    • Nama database, tabel, dan kolom yang akan disinkronkan mematuhi konvensi penamaan ApsaraDB for ClickHouse. Untuk informasi selengkapnya tentang konvensi tersebut, lihat Konvensi penamaan objek.

    • Jika Anda menyinkronkan satu atau beberapa tabel alih-alih seluruh database, jangan gunakan alat seperti pt-online-schema-change untuk melakukan operasi DDL Online pada objek sinkronisasi di database sumber. Jika dilakukan, sinkronisasi akan gagal.

    • Sebelum menyinkronkan data, evaluasi performa database sumber dan tujuan. Kami merekomendasikan agar Anda melakukan sinkronisasi data selama jam sepi. Jika tidak, sinkronisasi data penuh awal akan mengonsumsi sumber daya baca dan tulis database sumber dan tujuan, yang dapat meningkatkan beban database.

    • Selama fase sinkronisasi skema, fitur zero-ETL menambahkan field _sign, _is_deleted, dan _version ke tabel tujuan.

    • Jika tujuan adalah kluster ApsaraDB for ClickHouse Edisi Kompatibel Komunitas, integrasi tanpa hambatan membuat tabel lokal dan tabel terdistribusi untuk tujuan.

      • Nama tabel terdistribusi sama dengan nama tabel sumber.

      • Nama tabel lokal adalah <distributed_table_name> + _local.

Pemetaan tipe data

Karena MySQL dan kluster ApsaraDB for ClickHouse mendukung tipe data yang berbeda, pemetaan satu-ke-satu tidak mungkin dilakukan. Saat DTS melakukan sinkronisasi skema awal, tipe data dipetakan berdasarkan tipe yang didukung oleh database tujuan. Untuk informasi selengkapnya, lihat Pemetaan tipe data untuk sinkronisasi skema awal.

Persiapan

Buat peran terkait layanan dan berikan izin yang diperlukan kepada Pengguna RAM.

  1. Buat peran terkait layanan AliyunServiceRoleForClickHouseZeroETL.

    Catatan

    Sistem secara otomatis membuat peran terkait layanan AliyunServiceRoleForClickHouseZeroETL. Jika kotak dialog meminta Anda membuat peran ini secara manual selama konfigurasi, Anda dapat mengabaikannya.

  2. Berikan izin kepada Pengguna RAM.

    Pengguna RAM memerlukan tiga izin berikut untuk membuat pipa zero-ETL. Untuk informasi tentang cara memberikan izin kepada Pengguna RAM, lihat Kelola izin Pengguna RAM.

    • Izin untuk instans ApsaraDB RDS for MySQL sumber: AliyunRDSFullAccess

    • Izin untuk kluster ApsaraDB for ClickHouse tujuan: AliyunClickHouseFullAccess

    • Izin untuk DTS: Kode berikut menyediakan skrip kebijakan kustom untuk DTS. Untuk informasi tentang cara membuat kebijakan kustom, lihat Buat kebijakan izin kustom.

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": "dts:*",
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": "ram:PassRole",
                  "Resource": "*",
                  "Effect": "Allow",
                  "Condition": {
                      "StringEquals": {
                          "acs:Service": "dts.aliyuncs.com"
                      }
                  }
              }
          ]
      }

Sinkronkan data

Langkah 1: Buka halaman Zero-ETL

  1. Login ke Konsol ApsaraDB for ClickHouse. Di pojok kiri atas, pilih wilayah tempat kluster tujuan Anda berada.

  2. Di halaman Clusters, pilih Clusters of Community-compatible Edition, lalu klik ID kluster target.

  3. Di bilah navigasi kiri, klik Zero-ETL.

Langkah 2: Buat dan mulai tugas zero-ETL

Klik Create Zero-ETL Task untuk membuka halaman Create Zero-ETL Task.

Masukkan Task Name dan lengkapi konfigurasi berikut.

  1. Konfigurasi database sumber dan tujuan.

    Konfigurasikan database sumber dan tujuan dengan parameter berikut, lalu klik Test Connectivity and Proceed.

    Database sumber

    Parameter

    Deskripsi

    Database Type

    Hanya ApsaraDB RDS for MySQL yang didukung.

    Access Method

    Hanya Alibaba Cloud instance yang didukung.

    Instance Region

    Pilih wilayah instans sumber.

    RDS Instance ID

    ID instans ApsaraDB RDS for MySQL.

    Database Account

    Akun database instans ApsaraDB RDS for MySQL.

    Database Account

    Password untuk akun database instans ApsaraDB RDS for MySQL.

    Encryption

    Pilih Non-encrypted atau SSL-encrypted sesuai kebutuhan Anda. Jika Anda memilih SSL-encrypted, Anda harus terlebih dahulu mengaktifkan enkripsi SSL untuk instans RDS MySQL. Untuk informasi selengkapnya, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL dengan cepat.

    Database tujuan

    Parameter

    Deskripsi

    Database Type

    ClickHouse

    Access Method

    Hanya Alibaba Cloud instance yang didukung.

    Instance Region

    Wilayah kluster tujuan.

    Cluster ID

    ID kluster tujuan.

    Cluster Type

    Jenis kluster. Nilai yang valid: Community-Compatible Edition dan Enterprise Edition.

    Database Account

    Akun database kluster tujuan.

    Database Password

    Password untuk akun database kluster tujuan.

  2. Konfigurasi zero-ETL.

    Di kotak Source Objects, pilih objek yang akan disinkronkan, lalu klik image untuk memindahkannya ke kotak Selected Objects. Klik Next: Configure Database and Table Fields.

    image

  3. Konfigurasi field database dan tabel.

    Di halaman Configure Zero-ETL, konfigurasikan Type, Primary Key Column, Sort Key, Distribution Key, dan Partition Key dari tabel yang akan disinkronkan di database tujuan.

    Catatan
    • Secara default, halaman menampilkan informasi tentang tabel yang belum didefinisikan. Anda dapat melakukan modifikasi setelah mengatur Definition Status ke All.

    • Primary Key Column dan Sort Key dapat berupa kunci komposit. Artinya, Anda dapat memilih beberapa field dari daftar drop-down yang sesuai untuk Primary Key Column atau Sort Key. Anda harus memilih satu atau beberapa kolom dari Primary Key Column untuk digunakan sebagai Partition Key. Anda hanya dapat memilih satu field untuk Distribution Key. Untuk informasi selengkapnya tentang kolom kunci primer, kunci pengurutan, dan kunci partisi, lihat CREATE TABLE.

    • Partition Key bersifat opsional, tetapi tidak boleh berupa field nullable. Jika tidak, tugas sinkronisasi akan gagal.

  4. Simpan tugas.

    Setelah Anda mengonfigurasi field tabel database, klik Next: Save Task Settings and Precheck.

    Catatan

    Setelah operasi ini, tugas disimpan, terlepas dari apakah pemeriksaan awal berhasil atau tidak.

  5. Pemeriksaan awal dan mulai tugas.

    Saat Success Rate mencapai 100%, klik Start untuk memulai tugas Zero-ETL.

    Di halaman Zero-ETL, Anda dapat melihat ID/Name, Source/Destination, dan Status tugas Zero-ETL target.

    Jika pemeriksaan awal gagal, sesuaikan database sumber dan tujuan berdasarkan informasi kegagalan. Lalu, temukan tugas di halaman Zero-ETL, ubah, dan jalankan pemeriksaan awal lagi. Setelah pemeriksaan awal berhasil, Anda dapat memulai tugas.

Pantau tugas zero-ETL

Anda dapat memantau tugas zero-ETL dengan metode berikut. Konfigurasikan peringatan atau langganan event untuk menerima pembaruan tepat waktu tentang status tugas. Jika tugas menjadi abnormal, gunakan pemantauan aktif untuk mengatasi masalah tersebut.

Metode pemantauan

Manfaat

Batasan

Tindakan

Pemantauan aktif

Memberikan gambaran komprehensif tentang status tugas, termasuk performa sinkronisasi, detail, dan log.

Tidak memberi notifikasi aktif ketika tugas zero-ETL menjadi abnormal.

Pantau tugas di Konsol ApsaraDB for ClickHouse

Pemantauan peringatan

CloudMonitor secara otomatis mengirimkan pemberitahuan peringatan berdasarkan aturan peringatan, membantu Anda segera mengidentifikasi dan menangani data pemantauan abnormal.

Hanya memantau latensi sinkronisasi (dalam milidetik) tugas zero-ETL.

Pantau latensi sinkronisasi menggunakan Peringatan CloudMonitor

Langganan event

Ketika event sistem untuk tugas zero-ETL memenuhi kondisi peringatan, CloudMonitor secara otomatis mengirimkan pemberitahuan peringatan, sehingga Anda tetap mengetahui kegagalan dan pemulihan tugas.

Hanya memantau kegagalan dan pemulihan tugas zero-ETL.

Berlangganan event tugas zero-ETL di CloudMonitor

Pantau di konsol

  1. Login ke Konsol ApsaraDB for ClickHouse. Di pojok kiri atas, pilih wilayah tempat kluster tujuan Anda berada.

  2. Di halaman Clusters, pilih Clusters of Community-compatible Edition, lalu klik ID kluster target.

  3. Di bilah navigasi kiri, klik Zero-ETL.

  4. Klik Task Details di kolom Actions tugas target.

    Di halaman detail tugas, Anda dapat melihat informasi komprehensif dan memantau tugas.image

Peringatan latensi CloudMonitor

Buat aturan peringatan di CloudMonitor untuk memantau latensi zero-ETL. Ketika metrik memenuhi kondisi peringatan, CloudMonitor secara otomatis mengirimkan pemberitahuan peringatan.

Langkah 1: Buat peringatan latensi zero-ETL

Untuk informasi tentang cara membuat peringatan latensi zero-ETL, lihat Gunakan konsol CloudMonitor. Saat membuat peringatan, pastikan Anda mengatur parameter berikut.

Parameter

Deskripsi

Product

Pilih Clickhouse - ZeroETL Latency.

Metric

Pilih Synchronization Latency.

Langkah 2: Lihat latensi kluster

  1. Login ke CloudMonitor.

  2. Di daftar Clickhouse - ZeroETL Latency, klik Monitoring Charts di kolom Actions kluster target untuk melihat latensi sinkronisasi kluster.

Langganan event CloudMonitor

Untuk memantau pemulihan dan kegagalan tugas zero-ETL serta menerima notifikasi tepat waktu, berlanggananlah event terkait.

Untuk informasi tentang cara berlangganan event Zero-ETL, lihat Kelola langganan event. Saat membuat kebijakan langganan, pastikan Anda mengatur parameter berikut.

Event

Parameter

Deskripsi

Kegagalan tugas zero-ETL

Subscription type

Pilih System Event.

Product

Pilih ApsaraDB for ClickHouse.

Event type

Pilih Abnormal.

Event name

Pilih ZeroETL task abnormal.

Pemulihan tugas zero-ETL

Subscription type

Pilih System Event.

Product

Pilih ApsaraDB for ClickHouse.

Event type

Pilih Restore.

Event name

Pilih ZeroETLTaskRestore.

FAQ

T: Setelah menggunakan Zero-ETL untuk menyinkronkan data ke ApsaraDB for ClickHouse, mengapa volume data di database tujuan lebih besar daripada di database sumber?

Penyebab: Saat Anda melakukan operasi UPDATE atau DELETE pada sumber, ApsaraDB for ClickHouse menulis baris baru dan menggunakan field _sign, _is_deleted, dan _version untuk menandai operasi tersebut. Akibatnya, database tujuan memiliki lebih banyak baris daripada database sumber.

Solusi: Saat melakukan kueri, gunakan kondisi _sign atau _is_deleted untuk memfilter data yang dihapus berdasarkan versi. Selain itu, tambahkan FINAL setelah nama tabel untuk menghapus duplikat catatan. Untuk informasi selengkapnya tentang pengenal field, lihat Informasi field.

T: Setelah menggunakan Zero-ETL untuk menyinkronkan data ke ApsaraDB for ClickHouse, mengapa muncul tabel local di database tujuan?

Jika tujuan adalah kluster ApsaraDB for ClickHouse Edisi Kompatibel Komunitas, integrasi tanpa hambatan membuat tabel lokal dan tabel terdistribusi untuk tujuan.

  • Nama tabel terdistribusi sama dengan nama tabel sumber.

  • Nama tabel lokal adalah <distributed_table_name> + _local.