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
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.
Tugas sinkronisasi data dari ApsaraDB untuk MongoDB ke AnalyticDB for MySQL.
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.
CatatanTotal 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
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 tersebut 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 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
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.
Buka halaman konfigurasi Zero-ETL sesuai dengan edisi kluster.
Untuk kluster Enterprise Edition, Basic Edition, atau Data Lakehouse Edition: Di panel navigasi kiri, pilih .
Untuk kluster 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 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.
CatatanOplog 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.
CatatanJika 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.
CatatanJika 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.
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.
Setelah 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 membuat dan memulai tugas zero-ETL, Anda dapat mengonfigurasi aturan peringatan serta memantau status operasinya di Konsol Cloud Monitor. Ikuti langkah-langkah berikut:
Masuk ke Konsol Cloud Monitor.
Lihat informasi pemantauan.
Di panel navigasi kiri, pilih .
Geser pointer ke kartu AnalyticDB for MySQL dan klik AnalyticDB for mysql 3.0 - ZeroETL Latency.
Temukan kluster yang ingin dikelola dan klik ID kluster untuk melihat informasi pemantauan terkait 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.
CatatanPilih 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.