All Products
Search
Document Center

AnalyticDB:Gunakan zero-ETL untuk menyinkronkan data

Last Updated:Jul 02, 2025

AnalyticDB for MySQL menyediakan fitur zero-ETL yang memungkinkan Anda membuat tugas sinkronisasi data dari ApsaraDB untuk MongoDB ke AnalyticDB for MySQL. Fitur ini membantu Anda menyinkronkan dan mengelola data secara end-to-end serta mengintegrasikan pemrosesan transaksi dengan analisis data.

Ikhtisar

Di era data besar, perusahaan harus menggunakan alat ekstraksi, transformasi, dan pemuatan (ETL) untuk mengelola sejumlah besar data bisnis yang tersebar di berbagai sistem dan platform secara efisien.

Alat ETL mengekstrak data dari sistem bisnis tingkat atas, mentransformasinya, lalu memuatnya ke dalam gudang data. Proses ini menggabungkan data terdistribusi ke dalam gudang data untuk komputasi, analisis, dan pengambilan keputusan bisnis lebih lanjut.

Proses ETL tradisional menghadapi tantangan berikut:

  • Peningkatan biaya sumber daya: Sumber data yang berbeda mungkin memerlukan alat ETL yang berbeda, sehingga menambah biaya pembuatan tugas ETL.

  • Peningkatan kompleksitas sistem: Pemeliharaan alat ETL meningkatkan kesulitan operasi & pemeliharaan, mengalihkan fokus dari pengembangan aplikasi bisnis.

  • Penurunan ketepatan waktu data: Proses ETL tertentu melibatkan pembaruan batch berkala. Dalam skenario hampir real-time, hasil analisis tidak dapat dihasilkan dengan cepat.

Untuk menyelesaikan masalah tersebut, Alibaba Cloud ApsaraDB menyediakan fitur zero-ETL yang memungkinkan Anda membuat tugas sinkronisasi data antara sistem pemrosesan transaksi online (OLTP) dan sistem pemrosesan analitik online (OLAP). Fitur zero-ETL mengekstrak data dari sistem OLTP, mentransformasinya, lalu memuatnya ke sistem OLAP, membantu Anda menyinkronkan dan mengelola data secara end-to-end, mengintegrasikan pemrosesan transaksi dengan analisis data, serta fokus pada analisis data.

Manfaat

  • Kemudahan penggunaan: Anda tidak perlu membuat atau memelihara pipeline data yang kompleks untuk melakukan operasi ETL. Cukup pilih instance atau kluster sumber dan tujuan untuk membuat tugas sinkronisasi data real-time. Ini mengurangi tantangan dalam membangun dan mengelola pipeline data, memungkinkan Anda fokus pada pengembangan aplikasi.

  • Nol biaya: Tidak ada biaya tambahan untuk tugas zero-ETL. Fitur ini memungkinkan Anda menganalisis data yang disinkronkan ke AnalyticDB for MySQL secara gratis.

  • Aggregasi multi-sumber: Fitur zero-ETL memungkinkan Anda menyinkronkan data secara real-time dari beberapa instance atau kluster sumber ke kluster AnalyticDB for MySQL untuk analisis global.

Tugas sinkronisasi data yang didukung

Prasyarat

  • Sebuah kluster AnalyticDB for MySQL dan sebuah instance ApsaraDB untuk MongoDB telah dibuat di wilayah yang sama.

  • Akun database telah dibuat untuk kluster AnalyticDB for MySQL dan instance ApsaraDB untuk MongoDB.

Aturan penagihan

Anda tidak dikenakan biaya untuk tugas sinkronisasi data.

Catatan penggunaan

  • Fitur zero-ETL hanya didukung di 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).

  • Jika jumlah tugas zero-ETL yang dibuat untuk kluster AnalyticDB for MySQL mencapai batas maksimum, Anda tidak dapat membuat tugas zero-ETL di konsol AnalyticDB for MySQL. Anda dapat membuat tugas sinkronisasi data tambahan di konsol DTS atau menghapus tugas zero-ETL yang tidak lagi Anda butuhkan di konsol AnalyticDB for MySQL. Batasan berikut diberlakukan pada jumlah maksimum tugas zero-ETL yang dapat Anda buat untuk kluster AnalyticDB for MySQL di konsol AnalyticDB for MySQL:

    • Jika total jumlah sumber daya cadangan di kluster AnalyticDB for MySQL kurang dari 24 unit komputasi AnalyticDB (ACU), Anda hanya dapat membuat satu tugas zero-ETL.

    • Jika total jumlah sumber daya cadangan di kluster AnalyticDB for MySQL lebih besar dari atau sama dengan 24 ACU, jumlah maksimum tugas zero-ETL yang dapat Anda buat dihitung menggunakan rumus berikut: 3 + 3 × [(Total jumlah ACU - 24)/50].

      Dalam rumus tersebut, hasil dari [(Total jumlah ACU - 24)/50] harus dibulatkan ke bawah. Sebagai contoh, jika total jumlah ACU dalam kluster adalah 48, hasil dari [(Total jumlah ACU - 24)/50] adalah 0 setelah Anda membulatkan hasil asli 0.48 ke bawah. Dalam hal ini, hingga tiga tugas zero-ETL dapat dibuat.

    Catatan
    • Total jumlah ACU untuk sumber daya cadangan kluster Data Lakehouse Edition adalah jumlah ACU untuk sumber daya komputasi cadangan dan sumber daya penyimpanan cadangan.

    • Untuk kluster Data Warehouse Edition, setiap ACU sama dengan 1 core. Total jumlah ACU untuk sumber daya cadangan kluster Data Warehouse Edition dalam mode elastis adalah jumlah core sumber daya komputasi dan core sumber daya I/O elastis. Total jumlah ACU untuk sumber daya cadangan kluster Data Warehouse Edition dalam mode cadangan adalah jumlah core sumber daya komputasi.

Persiapan

Buat peran terkait layanan untuk AnalyticDB for MySQL

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

  2. Periksa apakah peran terkait layanan bernama AliyunServiceRoleForAnalyticDBForMySQL ada dalam daftar peran. Jika peran terkait layanan tersebut tidak ada, buat peran tersebut.

  3. Di sudut kiri atas halaman Peran, klik Create Role.

  4. Di langkah Select Role Type, pilih Alibaba Cloud Service dan klik Selanjutnya.

  5. Di langkah Konfigurasi Peran, pilih Service Linked Role untuk parameter Jenis Peran dan pilih AnalyticDB for MySQL dari daftar drop-down Pilih Layanan.

  6. Klik OK. Kembali ke halaman Peran dan periksa apakah peran terkait layanan telah dibuat.

Berikan izin manajemen kepada pengguna RAM

Untuk mengizinkan pengguna RAM membuat dan mengelola tugas zero-ETL, Anda harus melakukan operasi berikut:

Berikan pengguna RAM izin untuk mengelola AnalyticDB for MySQL

Sebelum pengguna RAM dapat membuat dan mengelola tugas zero-ETL dari AnalyticDB for MySQL, Anda harus melampirkan kebijakan AliyunADBFullAccess dari AnalyticDB for MySQL ke pengguna RAM. Untuk informasi lebih lanjut, lihat Berikan izin kepada pengguna RAM.

Berikan pengguna RAM izin untuk mengelola fitur zero-ETL

Sebelum pengguna RAM dapat membuat dan mengelola tugas zero-ETL, pengguna RAM harus memiliki izin untuk membuat tugas sinkronisasi data antara sumber data dan AnalyticDB for MySQL. Anda dapat mengonfigurasi kebijakan kustom yang mengizinkan pengguna RAM membuat tugas sinkronisasi data untuk semua instance atau kluster sumber data dan AnalyticDB for MySQL. Anda juga dapat mengonfigurasi kebijakan kustom yang mengizinkan pengguna RAM membuat tugas sinkronisasi data untuk instance atau kluster tertentu. Kemudian, Anda dapat melampirkan kebijakan kustom tersebut ke pengguna RAM. Untuk informasi lebih lanjut, lihat Buat kebijakan kustom.

Berikut ini menjelaskan skrip kebijakan kustom:

Berikan izin pada semua instance ApsaraDB untuk MongoDB dan kluster AnalyticDB for MySQL

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

Berikan izin pada instance ApsaraDB untuk MongoDB tertentu dan kluster AnalyticDB for MySQL tertentu

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

Prosedur

  1. Masuk ke Konsol AnalyticDB for MySQL. Di sudut kiri atas konsol, pilih wilayah. Di panel navigasi kiri, klik Clusters. Temukan kluster yang ingin dikelola dan klik ID kluster.

  2. Buka halaman konfigurasi Zero-ETL sesuai dengan edisi kluster.

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

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

  3. Klik Create Zero-ETL Task. Di langkah Konfigurasi Basis Data Sumber dan Tujuan pada halaman Create Zero-ETL Task, konfigurasikan parameter instance sumber dan kluster tujuan., konfigurasikan parameter dari instans sumber dan kluster tujuan.

    • Tabel berikut menjelaskan parameter instance sumber.

      Parameter

      Deskripsi

      Nama Tugas

      Nama tugas zero-ETL.

      Tipe Basis Data

      Mesin basis data dari instance sumber. Pilih MongoDB.

      Metode Akses

      Metode akses dari instance sumber. Nilainya secara otomatis diatur ke Alibaba Cloud Instance.

      Wilayah Instance

      Wilayah tempat instance ApsaraDB untuk MongoDB berada.

      Arsitektur

      Arsitektur dari instance ApsaraDB untuk MongoDB. Hanya ReplicaSet yang didukung.

      Metode Migrasi

      Metode yang ingin Anda gunakan untuk melakukan sinkronisasi data inkremental. Nilai valid:

      • Oplog (direkomendasikan):

        Opsi ini tersedia jika fitur oplog diaktifkan untuk instance sumber.

        Catatan

        Oplog diaktifkan secara default untuk basis data MongoDB yang dikelola sendiri dan instance ApsaraDB for MongoDB. Jika Anda menggunakan metode ini untuk menyinkronkan data inkremental, latensi tugas sinkronisasi inkremental rendah karena log ditarik dengan kecepatan tinggi. Oleh karena itu, kami merekomendasikan agar Anda memilih Oplog.

      • ChangeStream:

        Opsi ini tersedia jika aliran perubahan diaktifkan untuk instance sumber.

        Catatan

        Jika instance sumber adalah Amazon DocumentDB (kluster non-elastis), Anda hanya dapat memilih ChangeStream.

      ID Instance

      ID dari instance ApsaraDB untuk MongoDB .

      Basis Data Otentikasi

      Nama basis data tempat akun basis data dari instance ApsaraDB untuk MongoDB berada. Jika Anda belum mengubah basis data, admin digunakan.

      Akun Basis Data

      Nama akun basis data dari instance ApsaraDB untuk MongoDB .

      Kata Sandi Basis Data

      Kata sandi akun basis data dari instance ApsaraDB untuk MongoDB .

      Enkripsi

      Metode enkripsi yang digunakan untuk terhubung ke instance ApsaraDB untuk MongoDB. Pilih Non-terenkripsi atau Terenkripsi SSL.

      Catatan

      Jika Anda memilih Terenkripsi SSL, Anda harus terlebih dahulu mengaktifkan fitur Enkripsi SSL untuk instance ApsaraDB untuk MongoDB.

    • Tabel berikut menjelaskan parameter kluster tujuan.

      Parameter

      Deskripsi

      Tipe Basis Data

      Mesin basis data dari kluster tujuan. Nilainya secara otomatis diatur ke AnalyticDB for MySQL 3.0.

      Metode Akses

      Metode akses dari kluster tujuan. Nilainya secara otomatis diatur ke Instance Alibaba Cloud.

      Wilayah Instance

      Wilayah tempat kluster AnalyticDB for MySQL berada.

      ID Instance

      ID dari kluster AnalyticDB for MySQL.

      Akun Basis Data

      Nama akun basis data dari kluster AnalyticDB for MySQL.

      Kata Sandi Basis Data

      Kata sandi akun basis data dari kluster AnalyticDB for MySQL.

  4. Setelah mengonfigurasi parameter di atas, klik Test Connectivity and Proceed. Pada langkah Konfigurasi Zero-ETL, konfigurasikan parameter yang dijelaskan dalam tabel berikut.

    Parameter

    Deskripsi

    Operasi DDL dan DML yang akan Disinkronkan

    Operasi DML (INSERT, UPDATE, dan DELETE) yang ingin disinkronkan. Secara default, semua operasi dipilih.

    Objek Sumber dan Objek yang Dipilih

    Objek sumber dan objek yang ingin disinkronkan.

    Pengaturan Lanjutan (Opsional)

    Waktu percobaan ulang untuk koneksi gagal antara instance dan kluster sumber serta tujuan, serta waktu percobaan ulang untuk masalah lain yang terjadi pada instance dan kluster sumber serta tujuan.

  5. Setelah mengonfigurasi parameter di atas, klik Next: Save Task Settings and Precheck.

  6. Jika pra-pemeriksaan berhasil, klik Start untuk memulai tugas Zero-ETL.

    Anda dapat melihat parameter Name, Source/Destination, dan Status dari tugas Zero-ETL di halaman zero-ETL configuration.

Pemantauan dan peringatan tugas zero-ETL

Setelah membuat dan memulai tugas zero-ETL, Anda dapat mengonfigurasi aturan peringatan serta memantau status operasinya di Konsol Cloud Monitor. Ikuti langkah-langkah berikut:

  1. Masuk ke Konsol Cloud Monitor.

  2. Lihat informasi pemantauan.

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

    2. Geser pointer ke kartu AnalyticDB for MySQL dan klik AnalyticDB for mysql 3.0 - ZeroETL Latency.

    3. Temukan kluster yang ingin dikelola dan klik ID kluster untuk melihat informasi pemantauan terkait tugas zero-ETL.

  3. Buat aturan peringatan.

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

    2. Klik Create Alert Rule. Di panel Create Alert Rule, konfigurasikan parameter aturan peringatan untuk tugas zero-ETL. Untuk informasi lebih lanjut, lihat Buat aturan peringatan.

      Catatan

      Pilih AnalyticDB for mysql 3.0 - ZeroETL Latency untuk parameter Product.

  4. Buat kebijakan langganan.

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

    2. Klik Create Subscription Policy. Di halaman Create Subscription Policy, konfigurasikan parameter kebijakan langganan untuk tugas zero-ETL. Untuk informasi lebih lanjut, lihat bagian "Buat kebijakan langganan" dari topik Kelola kebijakan langganan insiden (disarankan).

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