AnalyticDB for MySQL menyediakan fitur zero-ETL yang memungkinkan Anda membuat tugas sinkronisasi data dari Lindorm 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 perlu menggunakan alat ETL (ekstraksi, transformasi, dan pemuatan) untuk mengelola serta memanfaatkan sejumlah besar data bisnis yang tersebar di berbagai sistem dan platform secara efisien.
Alat ETL mengekstrak data dari sistem bisnis tingkat atas, mentransformasinya, dan memuatnya ke dalam gudang data. Proses ini menggabungkan data terdistribusi ke dalam gudang data guna mendukung komputasi, analisis, serta pengambilan keputusan bisnis lebih lanjut.
Proses ETL tradisional menghadapi tantangan-tantangan berikut:
Peningkatan biaya sumber daya: Sumber data yang berbeda mungkin memerlukan alat ETL yang berbeda, sehingga menambah biaya untuk pembuatan tugas ETL.
Peningkatan kompleksitas sistem: Pemeliharaan alat ETL meningkatkan kesulitan operasi dan pemeliharaan, mengalihkan fokus dari pengembangan aplikasi bisnis.
Penurunan ketepatan waktu data: Proses ETL tertentu melibatkan pembaruan batch berkala, sehingga hasil analisis tidak dapat dihasilkan dengan cepat dalam skenario hampir real-time.
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, mentransformasi data tersebut, lalu memuatnya ke sistem OLAP. Dengan demikian, Anda dapat 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 klaster 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.
Biaya Nol: Anda tidak dikenakan biaya tambahan untuk tugas zero-ETL. Fitur zero-ETL 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 klaster sumber ke klaster AnalyticDB for MySQL untuk analisis global.
Tugas sinkronisasi data yang didukung
Tugas sinkronisasi data dari Lindorm ke AnalyticDB for MySQL.
Tugas sinkronisasi data dari ApsaraDB RDS for MySQL ke AnalyticDB for MySQL. Untuk informasi lebih lanjut, lihat Gunakan zero-ETL untuk menyinkronkan data.
Tugas sinkronisasi data dari PolarDB for MySQL ke AnalyticDB for MySQL. Untuk informasi lebih lanjut, lihat Gunakan zero-ETL untuk menyinkronkan data.
Prasyarat
Sebuah klaster AnalyticDB for MySQL dan sebuah instance Lindorm dibuat di wilayah yang sama. Untuk informasi lebih lanjut, lihat Buat Instance.
PentingLindormTable harus diaktifkan untuk instance Lindorm.
Akun database dibuat untuk klaster AnalyticDB for MySQL. Untuk informasi lebih lanjut, lihat Buat Akun Database.
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 klaster AnalyticDB for MySQL mencapai batas maksimum, Anda tidak dapat membuat tugas zero-ETL di konsol AnalyticDB for MySQL. Sebagai alternatif, Anda dapat membuat tugas sinkronisasi data tambahan di konsol DTS atau menghapus tugas zero-ETL yang tidak lagi diperlukan di konsol AnalyticDB for MySQL. Berikut adalah batasan jumlah maksimum tugas zero-ETL yang dapat dibuat untuk klaster AnalyticDB for MySQL di konsol AnalyticDB for MySQL:
Jika total sumber daya cadangan di klaster AnalyticDB for MySQL kurang dari 24 unit komputasi AnalyticDB (ACU), Anda hanya dapat membuat satu tugas zero-ETL.
Jika total sumber daya cadangan di klaster AnalyticDB for MySQL lebih besar dari atau sama dengan 24 ACU, jumlah maksimum tugas zero-ETL yang dapat dibuat 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 klaster adalah 48, hasil dari [(Total jumlah ACU - 24)/50] adalah 0 setelah pembulatan hasil asli 0,48 ke bawah. Dalam hal ini, Anda dapat membuat hingga tiga tugas zero-ETL.
CatatanTotal jumlah ACU untuk sumber daya cadangan klaster Data Lakehouse Edition adalah jumlah ACU untuk sumber daya komputasi cadangan dan sumber daya penyimpanan cadangan.
Untuk klaster Data Warehouse Edition, setiap ACU setara dengan 1 core. Total jumlah ACU untuk sumber daya cadangan klaster 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 klaster Data Warehouse Edition dalam mode cadangan adalah jumlah core sumber daya komputasi.
Fitur zero-ETL dapat digunakan untuk menyinkronkan hanya tabel HBase di instance Lindorm. Tabel SQL tidak didukung.
Persiapan
Buat peran terkait layanan untuk AnalyticDB for MySQL
Masuk ke Konsol Resource Access Management (RAM). Di panel navigasi kiri, pilih Identities > Roles.
Periksa apakah peran terkait layanan bernama AliyunServiceRoleForAnalyticDBForMySQL ada dalam daftar peran. Jika peran terkait layanan tidak ada, buat peran tersebut.
Di sudut kiri atas halaman Peran, klik Create Role.
Di langkah Select Role Type, pilih Alibaba Cloud Service dan klik Selanjutnya.
Di langkah Konfigurasi Peran, pilih Service Linked Role untuk parameter Jenis Peran dan pilih AnalyticDB for MySQL dari daftar drop-down Pilih Layanan.
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 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 untuk membuat tugas sinkronisasi data untuk semua instance atau klaster sumber data dan AnalyticDB for MySQL. Anda juga dapat mengonfigurasi kebijakan kustom yang mengizinkan pengguna RAM untuk membuat tugas sinkronisasi data untuk instance atau klaster tertentu. Kemudian, Anda dapat melampirkan kebijakan kustom tersebut ke pengguna RAM. Untuk informasi lebih lanjut, lihat Buat Kebijakan Kustom.
Berikut ini adalah deskripsi skrip kebijakan kustom:
Berikan izin pada semua instance Lindorm dan klaster AnalyticDB for MySQL
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "dts:*",
"Resource": [
"acs:adb:*:*:*",
"acs:lindorm:*:*:*",
]
},
{
"Effect": "Allow",
"Action": [
"dts:DescribeRegions",
"dts:DescribeConfigRelations",
"dts:DescribeSrcLinkConfig",
"dts:DescribeDestLinkConfig",
"dts:DescribeLinkConfig"
],
"Resource": [
"acs:dts:*:*:*"
]
}
]
}Berikan izin pada instance Lindorm tertentu dan klaster AnalyticDB for MySQL tertentu
{
"Version": "1",
"Statement": [
{
"Effect": "Mengizinkan",
"Action": "dts:*",
"Resource": [
"acs:adb:*:*:dbcluster/am-2zeod8ax4b9a****",
"acs:lindorm:*:*:dbinstance/ld-bp19yeo38q4****",
]
},
{
"Effect": "Mengizinkan",
"Action": [
"dts:DescribeRegions",
"dts:DescribeConfigRelations",
"dts:DescribeSrcLinkConfig",
"dts:DescribeDestLinkConfig",
"dts:DescribeLinkConfig"
],
"Resource": "acs:dts:*:*:*"
}
]
}Prosedur
Masuk ke konsol AnalyticDB for MySQL. Di sudut kiri atas konsol, pilih wilayah. Di panel navigasi kiri, klik Clusters. Cari klaster yang ingin dikelola, lalu klik ID klaster tersebut.
Pergi ke halaman konfigurasi zero-ETL berdasarkan edisi klaster.
Untuk klaster Enterprise Edition, Basic Edition, atau Data Lakehouse Edition: Di panel navigasi kiri, pilih .
Untuk klaster Data Warehouse Edition: Di panel navigasi kiri, pilih .
Klik Create Zero-ETL Task. Di langkah Konfigurasi Basis Data Sumber dan Tujuan pada halaman Create Zero-ETL Task, konfigurasikan parameter instance sumber dan klaster 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 Lindorm.
Metode Akses
Metode akses instance sumber. Nilainya secara otomatis diatur ke Alibaba Cloud Instance.
Wilayah Instance
Wilayah tempat instance Lindorm berada.
ID Instance
ID instance Lindorm.
Akun Basis Data
Nama dan kata sandi akun basis data yang digunakan untuk terhubung ke LindormTable.
Jika Anda lupa kata sandi, Anda dapat mengubah kata sandi dalam sistem manajemen klaster LindormTable. Untuk informasi lebih lanjut, lihat bagian "Ubah kata sandi pengguna" dari topik Kelola pengguna.
Kata Sandi Basis Data
Tabel berikut menjelaskan parameter klaster tujuan.
Parameter
Deskripsi
Tipe Basis Data
Mesin basis data klaster tujuan. Nilainya secara otomatis diatur ke AnalyticDB for MySQL 3.0.
Metode Akses
Metode akses klaster tujuan. Nilainya secara otomatis diatur ke Instance Alibaba Cloud.
Wilayah Instance
Wilayah tempat klaster AnalyticDB for MySQL berada.
ID Instance
ID klaster AnalyticDB for MySQL.
Akun Basis Data
Nama akun basis data klaster AnalyticDB for MySQL.
Kata Sandi Basis Data
Kata sandi akun basis data klaster AnalyticDB for MySQL.
Setelah Anda mengonfigurasi parameter di atas, klik Test Connectivity and Proceed. Di 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) dan operasi DDL (CREATE, ALTER, DROP, dan TRUNCATE) yang ingin Anda sinkronkan. Secara default, semua operasi dipilih.
Objek Sumber dan Objek yang Dipilih
Objek sumber dan objek yang ingin Anda sinkronkan.
Anda tidak dapat menyinkronkan data seluruh basis data atau tabel di instance Lindorm. Di bagian Selected Objects, klik Edit di sebelah tabel sumber dan pilih kolom yang ingin Anda sinkronkan.
Pengaturan Lanjutan (Opsional)
Waktu percobaan ulang untuk koneksi gagal antara instance dan klaster sumber serta tujuan dan waktu percobaan ulang untuk masalah lain yang terjadi pada instance dan klaster sumber serta tujuan.
Setelah Anda mengonfigurasi parameter di atas, klik Next: Configure Database and Table Fields. Di langkah Konfigurasi untuk Basis Data, Tabel, dan Kolom, konfigurasikan parameter yang dijelaskan dalam tabel berikut.
Parameter
Deskripsi
Nama Basis Data
Nama basis data yang dipilih.
Nama Tabel
Nama tabel yang dipilih.
Kolom Kunci Utama
Kolom kunci utama dari tabel yang dipilih.
Kunci Distribusi
Kolom kunci distribusi dari tabel yang dipilih.
Tipe
Tipe tabel yang dipilih, yang bisa berupa tabel partisi atau tabel replikasi.
Status Definisi
Status tabel yang dipilih. Setelah Anda mengonfigurasi bidang tabel, status tabel berubah dari Undefined menjadi Defined.
Setelah Anda mengonfigurasi parameter di atas, klik Next: Save Task Settings and Precheck.
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 Anda membuat dan memulai tugas zero-ETL, Anda dapat mengonfigurasi aturan peringatan untuk tugas tersebut dan memantau status operasi tugas di konsol CloudMonitor. Lakukan langkah-langkah berikut:
Masuk ke Konsol Cloud Monitor.
Lihat informasi pemantauan.
Di panel navigasi kiri, pilih .
Geser pointer ke atas kartu AnalyticDB for MySQL dan klik AnalyticDB for mysql 3.0 - ZeroETL Latency.
Temukan klaster yang ingin Anda kelola dan klik ID klaster untuk melihat informasi pemantauan tentang tugas zero-ETL.
Buat aturan peringatan.
Di panel navigasi kiri, pilih .
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.
CatatanAnda harus memilih AnalyticDB for mysql 3.0 - ZeroETL Latency untuk parameter Product.
Buat kebijakan langganan.
Di panel navigasi kiri, pilih .
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).
CatatanProducts: Pilih AnalyticDB for MySQL V3.0.
Event Type: Pilih Abnormal atau Restore.
Event Name: Pilih zero_etl_job_abnormal atau zero_etl_job_restore.