All Products
Search
Document Center

AnalyticDB:Sinkronisasi data menggunakan Zero-ETL

Last Updated:Mar 29, 2026

Membangun dan memelihara pipeline ETL untuk memindahkan data dari PolarDB for MySQL ke AnalyticDB for MySQL menambahkan beban operasional dan menunda analitik. Zero-ETL menghilangkan hal ini dengan mereplikasi data secara berkelanjutan dari kluster sumber PolarDB for MySQL ke kluster tujuan AnalyticDB for MySQL—tanpa kode pipeline, tanpa alat pihak ketiga, dan tanpa biaya tambahan.

Konsep utama

TermDefinisi
Zero-ETL taskPekerjaan sinkronisasi terkelola yang secara berkelanjutan mereplikasi perubahan DML dan DDL dari kluster sumber PolarDB for MySQL ke kluster tujuan AnalyticDB for MySQL.
Source clusterKluster PolarDB for MySQL tempat data transaksional berasal.
Destination clusterKluster AnalyticDB for MySQL tempat data replikasi tersedia untuk analitik.
ACUAnalyticDB compute unit. Unit resource yang digunakan untuk menghitung berapa banyak tugas zero-ETL yang dapat dijalankan secara bersamaan oleh suatu kluster.

Sumber yang didukung

Zero-ETL mendukung jalur sinkronisasi data berikut:

Manfaat

  • Tidak perlu penyiapan pipeline: Pilih kluster sumber dan tujuan, lalu sinkronisasi akan dimulai secara otomatis. Tidak diperlukan kode ETL atau alat pihak ketiga.

  • Tidak ada biaya tambahan: Tugas Zero-ETL gratis. Menganalisis data yang telah disinkronkan di AnalyticDB for MySQL tidak dikenai biaya tambahan.

  • Agregasi multi-sumber: Sinkronkan data dari beberapa kluster PolarDB for MySQL ke satu kluster AnalyticDB for MySQL untuk analitik terpadu.

Wilayah yang didukung

Zero-ETL tersedia di wilayah-wilayah berikut: Tiongkok (Beijing), Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Shenzhen), Tiongkok (Zhangjiakou), Tiongkok (Qingdao), Tiongkok (Guangzhou), Tiongkok (Hong Kong), Singapura, AS (Silicon Valley), dan AS (Virginia).

Batas tugas

Jumlah maksimum tugas zero-ETL per kluster AnalyticDB for MySQL bergantung pada total resource reservasi kluster tersebut:

Total ACU yang DipesanMaksimum tugas zero-ETL
Kurang dari 24 ACU1
24 ACU atau lebih3 + 3 × [(Total ACUs − 24) ÷ 50] (dibulatkan ke bawah)

Contoh: Kluster dengan 48 ACU memberikan 3 + 3 × [(48 − 24) ÷ 50] = 3 + 3 × 0 = 3 tugas.

Cara penghitungan ACU berbeda-beda tergantung edisi kluster:
Data Lakehouse Edition: ACU = ACU resource komputasi reservasi + ACU resource penyimpanan reservasi.
Data Warehouse Edition (mode elastis): ACU = core resource komputasi + core resource I/O elastis.
Data Warehouse Edition (mode reservasi): ACU = core resource komputasi.

Jika kluster mencapai batas tugasnya, hapus tugas zero-ETL yang tidak digunakan di konsol AnalyticDB for MySQL, atau buat tugas tambahan langsung di Data Transmission Service (DTS) console.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Siapkan izin

Buat peran terkait layanan untuk AnalyticDB for MySQL

  1. Login ke Resource Access Management (RAM) console. Di panel navigasi kiri, pilih Identities > Roles.

  2. Periksa apakah peran terkait layanan bernama AliyunServiceRoleForAnalyticDBForMySQL sudah ada. Jika belum ada, buat peran tersebut:

    1. Klik Create Role.

    2. Pada langkah Select role type, pilih Alibaba Cloud Service lalu klik Next.

    3. Pada langkah Configure role, atur Role type menjadi Service linked role, lalu pilih AnalyticDB for MySQL dari daftar drop-down Select service.

    4. Klik OK dan verifikasi bahwa peran tersebut muncul dalam daftar.

Berikan izin kepada RAM user untuk mengelola tugas zero-ETL

RAM user memerlukan dua set izin untuk membuat dan mengelola tugas zero-ETL.

Langkah 1: Sambungkan kebijakan akses penuh AnalyticDB for MySQL

Sambungkan kebijakan AliyunADBFullAccess ke RAM user. Untuk petunjuknya, lihat Berikan izin kepada RAM user.

Langkah 2: Buat dan sambungkan kebijakan kustom untuk zero-ETL

Buat kebijakan kustom yang memberikan izin DTS pada kluster sumber dan tujuan, lalu sambungkan ke RAM user. Untuk petunjuk pembuatan kebijakan kustom, lihat Buat kebijakan kustom.

Gunakan salah satu templat kebijakan berikut:

Berikan izin untuk semua instans PolarDB for MySQL dan kluster AnalyticDB for MySQL

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "dts:*",
            "Resource": [
                "acs:adb:*:*:*",
                "acs:polardb:*:*:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "dts:DescribeRegions",
                "dts:DescribeConfigRelations",
                "dts:DescribeSrcLinkConfig",
                "dts:DescribeDestLinkConfig",
                "dts:DescribeLinkConfig"
            ],
            "Resource": [
                "acs:dts:*:*:*"
            ]
        }
    ]
}

Berikan izin untuk instans PolarDB for MySQL dan kluster AnalyticDB for MySQL tertentu

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "dts:*",
            "Resource": [
                "acs:adb:*:*:dbcluster/am-2zeod8ax4b9a****",
                "acs:polardb:*:*:dbcluster/pc-bp13jqn4a26b0****"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "dts:DescribeRegions",
                "dts:DescribeConfigRelations",
                "dts:DescribeSrcLinkConfig",
                "dts:DescribeDestLinkConfig",
                "dts:DescribeLinkConfig"
            ],
            "Resource": "acs:dts:*:*:*"
        }
    ]
}

Ganti am-2zeod8ax4b9a**` dengan ID kluster AnalyticDB for MySQL Anda dan `pc-bp13jqn4a26b0** dengan ID kluster PolarDB for MySQL Anda.

Buat tugas zero-ETL

  1. Login ke AnalyticDB for MySQL console. Di pojok kiri atas, pilih wilayah Anda. Di panel navigasi kiri, klik Clusters. Di halaman Clusters, klik tab edisi kluster Anda, temukan kluster tersebut, lalu klik ID-nya.

  2. Buka halaman konfigurasi zero-ETL:

    • Enterprise Edition, Basic Edition, atau Data Lakehouse Edition: Di panel navigasi kiri, pilih Data Ingestion > Database Data Synchronization.

    • Data Warehouse Edition: Di panel navigasi kiri, pilih Data Transmission Service > Zero-ETL.

  3. Klik Create Zero-ETL Task. Di halaman Create Zero-ETL Task, konfigurasikan parameter kluster sumber dan kluster tujuan:

    Jika Anda memilih SSL-encrypted, aktifkan enkripsi SSL untuk kluster PolarDB for MySQL terlebih dahulu. Lihat Konfigurasikan enkripsi SSL.
    ParameterDeskripsi
    Task nameNama untuk tugas zero-ETL.
    Database typeMesin database sumber. Pilih PolarDB for MySQL.
    Access methodSecara otomatis diatur ke Alibaba Cloud Instance.
    Instance regionWilayah tempat kluster PolarDB for MySQL berada.
    PolarDB cluster IDID kluster PolarDB for MySQL.
    Database accountAkun database untuk kluster PolarDB for MySQL.
    Database passwordKata sandi untuk akun database.
    EncryptionMetode enkripsi koneksi. Pilih Non-encrypted atau SSL-encrypted.
    ParameterDeskripsi
    Database typeSecara otomatis diatur ke AnalyticDB for MySQL 3.0.
    Access methodSecara otomatis diatur ke Alibaba Cloud Instance.
    Instance regionWilayah tempat kluster AnalyticDB for MySQL berada.
    Instance IDID kluster AnalyticDB for MySQL.
    Database accountAkun database untuk kluster AnalyticDB for MySQL.
    Database passwordKata sandi untuk akun database.
  4. Klik Test Connectivity and Proceed. Konfigurasikan pengaturan sinkronisasi:

    ParameterDeskripsi
    DDL and DML operations to be synchronizedOperasi DML (INSERT, UPDATE, DELETE) dan operasi DDL (CREATE, ALTER, DROP, TRUNCATE) yang akan disinkronkan. Semua operasi dipilih secara default.
    Source objects and selected objectsDatabase dan tabel yang akan disinkronkan.
    Advanced settings (optional)Interval percobaan ulang untuk kegagalan koneksi dan error lainnya pada kluster sumber dan tujuan.
  5. Klik Next: Configure Database and Table Fields. Konfigurasikan parameter pemetaan tabel:

    ParameterDeskripsi
    Database nameNama database yang dipilih.
    Table nameNama tabel yang dipilih.
    Primary key columnKolom kunci primer tabel.
    Distribution keyKolom kunci distribusi tabel.
    TypeJenis tabel: tabel partisi atau tabel replikasi.
    Definition statusStatus konfigurasi tabel. Berubah dari Undefined menjadi Defined setelah Anda mengonfigurasi field tabel.
  6. Klik Next: Save Task Settings and Precheck.

  7. Setelah pemeriksaan awal berhasil, klik Start.

    Jika pemeriksaan awal gagal, tinjau detail error dan pastikan semua prasyarat telah terpenuhi—binary logging diaktifkan pada kluster PolarDB for MySQL, akun database tersedia di kedua kluster, dan RAM user memiliki izin yang diperlukan.

Tugas zero-ETL muncul di halaman zero-ETL configuration, tempat Anda dapat melihat Name, Source/Destination, dan Status tugas tersebut.

Pantau tugas zero-ETL dan atur aturan peringatan

Setelah menjalankan tugas zero-ETL, konfigurasikan pemantauan dan peringatan di CloudMonitor.

Lihat data pemantauan:

  1. Login ke CloudMonitor console.

  2. Di panel navigasi kiri, pilih Cloud Service Monitoring > Cloud Service Monitoring.

  3. Arahkan kursor ke kartu AnalyticDB for MySQL lalu klik AnalyticDB for mysql 3.0 - ZeroETL Latency.

  4. Klik ID kluster untuk melihat detail pemantauan tugas zero-ETL Anda.

Create an alert rule:

  1. Di panel navigasi kiri, pilih Alerts > Alert Rules.

  2. Klik Create Alert Rule lalu konfigurasikan parameter peringatan. Atur Product menjadi AnalyticDB for mysql 3.0 - ZeroETL Latency. Untuk detailnya, lihat Buat aturan peringatan.

Create a subscription policy:

  1. Di panel navigasi kiri, pilih Event Center > Event Subscription.

  2. Klik Create Subscription Policy dan konfigurasikan parameter langganan. Untuk detail selengkapnya, lihat Kelola kebijakan langganan event (disarankan).

    • Products: Pilih AnalyticDB for MySQL V3.0.

    • Event type: Pilih Abnormal atau Restore.

    • Event name: Pilih zero_etl_job_abnormal atau zero_etl_job_restore.

Langkah selanjutnya

Untuk menyinkronkan data dari ApsaraDB RDS for MySQL ke AnalyticDB for MySQL, lihat Gunakan zero-ETL untuk menyinkronkan data.