Topik ini menjelaskan cara menyinkronkan data dari instans ApsaraDB RDS for MySQL ke proyek MaxCompute menggunakan Data Transmission Service (DTS). Ini membantu Anda membangun sistem analitik data real-time dengan cepat.
Prasyarat
MaxCompute telah diaktifkan dan sebuah proyek MaxCompute telah dibuat. Untuk informasi lebih lanjut, lihat Aktifkan MaxCompute dan DataWorks dan Membuat Proyek MaxCompute.
Daftar putih alamat IP dikonfigurasi untuk proyek MaxCompute untuk mengizinkan akses dari DTS ke MaxCompute. Untuk informasi lebih lanjut, lihat Konfigurasikan Daftar Putih Alamat IP untuk Mengizinkan Akses dari Layanan Alibaba Cloud ke MaxCompute.
Sepasang AccessKey dibuat untuk akun Alibaba Cloud yang memiliki proyek MaxCompute tujuan. Untuk informasi lebih lanjut, lihat Buat Sepasang AccessKey.
CatatanAnda dapat Membuat Pengguna RAM dan Tetapkan Pengguna RAM sebagai Administrator Super untuk Proyek MaxCompute.
Batasan
DTS tidak menyinkronkan kunci asing dari database sumber ke database tujuan. Oleh karena itu, operasi kaskade dan hapus pada database sumber tidak disinkronkan ke database tujuan.
Jenis batasan | Deskripsi |
Batasan pada database sumber |
|
Batasan lainnya |
|
Kasus khusus |
|
Penagihan
| Jenis sinkronisasi | Biaya konfigurasi tugas |
| Sinkronisasi skema dan data penuh | Gratis. |
| Sinkronisasi data tambahan | Dikenakan biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan. |
Operasi SQL yang dapat disinkronkan secara tambahan
Jenis operasi | Pernyataan SQL |
DML | INSERT, UPDATE, dan DELETE |
DDL | ADD COLUMN Catatan Operasi ADD COLUMN yang berisi kolom atribut tidak dapat disinkronkan. |
Izin yang diperlukan untuk akun database
Jenis database | Izin yang diperlukan | Referensi |
Instans sumber ApsaraDB RDS for MySQL | Izin baca dan tulis |
Jika akun database sumber yang Anda gunakan tidak dibuat dan diberi otorisasi di konsol ApsaraDB RDS for MySQL, pastikan akun tersebut memiliki izin REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, dan SELECT.
Proses sinkronisasi
Sinkronisasi Skema Awal.
DTS menyinkronkan skema objek yang diperlukan dari database sumber ke MaxCompute. Selama sinkronisasi skema awal, DTS menambahkan akhiran _base ke nama tabel sumber. Sebagai contoh, jika nama tabel sumber adalah customer, nama tabel di MaxCompute adalah customer_base.
Sinkronisasi Data Penuh Awal.
DTS menyinkronkan data historis tabel dari database sumber ke tabel tujuan di MaxCompute. Sebagai contoh, tabel customer di database sumber disinkronkan ke tabel customer_base di MaxCompute. Data ini adalah dasar untuk sinkronisasi tambahan selanjutnya.
CatatanTabel tujuan yang diberi akhiran _base dikenal sebagai tabel baseline penuh.
Sinkronisasi Data Tambahan.
DTS membuat tabel data tambahan di MaxCompute. Nama tabel data tambahan diberi akhiran _log, seperti customer_log. Kemudian, DTS menyinkronkan data tambahan yang dihasilkan di database sumber ke tabel data tambahan.
CatatanUntuk informasi lebih lanjut, lihat Skema Tabel Data Tambahan.
Prosedur
Gunakan salah satu metode berikut untuk pergi ke halaman Sinkronisasi Data dan pilih wilayah tempat instans sinkronisasi data berada.
Konsol DTS
Masuk ke Konsol DTS.
Di panel navigasi di sebelah kiri, klik Data Synchronization.
Di sudut kiri atas halaman, pilih wilayah tempat tugas sinkronisasi data berada.
Konsol DMS
CatatanOperasi aktual mungkin bervariasi berdasarkan mode dan tata letak konsol DMS. Untuk informasi lebih lanjut, lihat Mode Sederhana dan Sesuaikan Tata Letak dan Gaya Konsol DMS.
Masuk ke Konsol DMS.
Di bilah navigasi atas, arahkan kursor ke Data + AI, lalu pilih .
Dari daftar drop-down di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi data berada.
Klik Create Task untuk pergi ke halaman konfigurasi tugas.
Konfigurasikan database sumber dan tujuan. Tabel berikut menjelaskan parameter.
Bagian
Parameter
Deskripsi
N/A
Destination Database
Nama tugas DTS. DTS secara otomatis menghasilkan nama tugas. Kami sarankan Anda menentukan nama deskriptif yang memudahkan identifikasi tugas. Anda tidak perlu menentukan nama tugas yang unik.
Source Database
Select Existing Connection
Jika Anda menggunakan instans database yang terdaftar dengan DTS, pilih instans dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi lebih lanjut, lihat Kelola koneksi database.
CatatanDi konsol DMS, Anda dapat memilih instans database dari daftar drop-down Select a DMS database instance.
Jika Anda gagal mendaftarkan instans dengan DTS, atau Anda tidak perlu menggunakan instans yang terdaftar dengan DTS, Anda harus mengonfigurasi informasi database berikut.
Database Type
Jenis database sumber. Pilih MySQL.
Access Method
Metode akses database sumber. Pilih Alibaba Cloud Instance.
Instance Region
Wilayah tempat instans ApsaraDB RDS for MySQL sumber berada.
Replicate Data Across Alibaba Cloud Accounts
Dalam contoh ini, database dari akun Alibaba Cloud saat ini digunakan. Pilih No.
RDS Instance ID
ID instans ApsaraDB RDS for MySQL sumber.
Database Account
Akun database dari instans ApsaraDB RDS for MySQL sumber. Untuk informasi tentang izin yang diperlukan untuk akun tersebut, lihat bagian Izin yang diperlukan untuk akun database dari topik ini.
Database Password
Kata sandi yang digunakan untuk mengakses database.
Encryption
Menentukan apakah akan mengenkripsi koneksi ke database. Anda dapat memilih Non-encrypted atau SSL-encrypted berdasarkan kebutuhan bisnis Anda. Jika Anda ingin menyetel parameter ini ke SSL-encrypted, Anda harus mengaktifkan enkripsi SSL untuk instans ApsaraDB RDS for MySQL sebelum mengonfigurasi tugas DTS. Untuk informasi lebih lanjut, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL.
Destination Database
Select Existing Connection
Jika Anda menggunakan instans database yang terdaftar dengan DTS, pilih instans dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi lebih lanjut, lihat Kelola koneksi database.
CatatanDi konsol DMS, Anda dapat memilih instans database dari daftar drop-down Select a DMS database instance.
Jika Anda gagal mendaftarkan instans dengan DTS, atau Anda tidak perlu menggunakan instans yang terdaftar dengan DTS, Anda harus mengonfigurasi informasi database berikut.
Database Type
Jenis database tujuan. Pilih MaxCompute.
Access Method
Metode akses database tujuan. Pilih Alibaba Cloud Instance.
Instance Region
Wilayah tempat proyek MaxCompute tujuan berada.
Project
Nama proyek MaxCompute tujuan.
AccessKey ID of Alibaba Cloud Account
ID AccessKey dan rahasia dari akun Alibaba Cloud tempat proyek MaxCompute tujuan berada. Untuk informasi lebih lanjut, lihat bagian Prasyarat dari topik ini.
AccessKey Secret of Alibaba Cloud Account
Klik Test Connectivity and Proceed di bagian bawah halaman.
CatatanPastikan bahwa blok CIDR server DTS dapat ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi lebih lanjut, lihat Tambahkan Blok CIDR Server DTS.
Jika database sumber atau tujuan adalah database yang dikelola sendiri dan Access Method-nya tidak disetel ke Alibaba Cloud Instance, klik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.
Klik OK untuk memberikan izin ke akun MaxCompute Anda. Kemudian, klik Test Connectivity and Proceed.
Konfigurasikan objek yang akan disinkronkan.
Di langkah Configure Objects, konfigurasikan objek yang ingin Anda sinkronkan.
Parameter
Deskripsi
Synchronization Types
Jenis sinkronisasi. Secara default, Incremental Data Synchronization dipilih. Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pra-pemeriksaan selesai, DTS menyinkronkan data historis objek yang dipilih dari database sumber ke klaster tujuan. Data historis ini adalah dasar untuk sinkronisasi tambahan selanjutnya.
Naming Rules of Additional Columns
Setelah DTS menyinkronkan data ke MaxCompute, DTS menambahkan kolom tambahan ke tabel tujuan. Jika kolom tambahan memiliki nama yang sama dengan kolom yang ada di tabel tujuan, tugas migrasi data gagal dan kehilangan data dapat terjadi. Anda dapat memilih New Rule atau Previous Rule untuk parameter ini berdasarkan kebutuhan bisnis Anda.
PeringatanSebelum menentukan parameter ini, periksa apakah ada konflik nama antara kolom tambahan dan kolom yang ada di tabel tujuan. Untuk informasi lebih lanjut, lihat bagian Aturan Penamaan untuk Kolom Tambahan dari topik Ubah Aturan Penamaan untuk Kolom Tambahan.
Partition Definition of Incremental Data Table
Pilih nama partisi berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Partisi.
Processing Mode of Conflicting Tables
Precheck and Report Errors: memeriksa apakah database tujuan berisi tabel yang memiliki nama yang sama dengan tabel di database sumber. Jika database sumber dan tujuan tidak berisi tabel dengan nama tabel identik, pra-pemeriksaan berhasil. Jika tidak, kesalahan dikembalikan selama pra-pemeriksaan, dan tugas sinkronisasi data tidak dapat dimulai.
CatatanJika database sumber dan tujuan berisi tabel dengan nama yang sama dan tabel di database tujuan tidak dapat dihapus atau diganti namanya, Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama tabel yang disinkronkan ke database tujuan. Untuk informasi lebih lanjut, lihat Petakan Nama Objek.
Ignore Errors and Proceed: melewati pra-pemeriksaan untuk nama tabel identik di database sumber dan tujuan.
PeringatanJika Anda memilih Ignore Errors and Proceed, ketidaksesuaian data mungkin terjadi dan bisnis Anda mungkin terpapar risiko potensial.
Jika database sumber dan tujuan memiliki skema yang sama dan catatan data di database tujuan memiliki nilai kunci utama atau nilai kunci unik yang sama dengan catatan data di database sumber:
Selama sinkronisasi data penuh, DTS tidak menyinkronkan catatan data ke database tujuan. Catatan data yang ada di database tujuan dipertahankan.
Selama sinkronisasi data tambahan, DTS menyinkronkan catatan data ke database tujuan. Catatan data yang ada di database tujuan ditimpa.
Jika database sumber dan tujuan memiliki skema yang berbeda, data mungkin gagal diinisialisasi. Dalam hal ini, hanya beberapa kolom yang disinkronkan, atau instans sinkronisasi data gagal. Lanjutkan dengan hati-hati.
Capitalization of Object Names in Destination Instance
Huruf besar/kecil nama database, nama tabel, dan nama kolom di instans tujuan. Secara default, DTS default policy dipilih. Anda dapat memilih opsi lain untuk memastikan bahwa huruf besar/kecil nama objek konsisten dengan yang ada di database sumber atau tujuan. Untuk informasi lebih lanjut, lihat Tentukan Huruf Besar/Kecil Nama Objek di Instans Tujuan.
Source Objects
Pilih satu atau lebih objek dari bagian Source Objects dan klik ikon
untuk menambahkan objek ke bagian Selected Objects.CatatanAnda dapat memilih tabel sebagai objek yang akan disinkronkan.
Selected Objects
Untuk mengganti nama objek yang ingin Anda sinkronkan ke instans tujuan, klik kanan objek di bagian Selected Objects. Untuk informasi lebih lanjut, lihat bagian "Petakan Nama Objek Tunggal" dari topik Petakan Nama Objek.
Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di sudut kanan atas bagian Selected Objects. Untuk informasi lebih lanjut, lihat bagian "Petakan Beberapa Nama Objek Sekaligus" dari topik Petakan Nama Objek.
CatatanUntuk memilih operasi SQL yang dilakukan pada database atau tabel tertentu, klik kanan objek di bagian Selected Objects. Di kotak dialog yang muncul, pilih operasi SQL yang ingin Anda sinkronkan.
Untuk menentukan kondisi WHERE untuk memfilter data, klik kanan tabel di bagian Selected Objects. Di kotak dialog yang muncul, tentukan kondisi tersebut. Untuk informasi lebih lanjut, lihat Tentukan Kondisi Filter.
Jika Anda menggunakan fitur pemetaan nama objek untuk mengganti nama objek, objek lain yang bergantung pada objek tersebut mungkin gagal disinkronkan.
Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan.
Parameter
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas ke klaster bersama jika Anda tidak menentukan klaster khusus. Jika Anda ingin meningkatkan stabilitas instans sinkronisasi data, beli klaster khusus. Untuk informasi lebih lanjut, lihat Apa Itu Klaster Khusus DTS.
Retry Time for Failed Connections
Rentang waktu ulang untuk koneksi gagal. Jika database sumber atau tujuan gagal terhubung setelah tugas sinkronisasi data dimulai, DTS segera mencoba kembali koneksi dalam rentang waktu tersebut. Nilai valid: 10 hingga 1440. Unit: menit. Nilai default: 720. Kami sarankan Anda menyetel parameter ini ke nilai lebih dari 30. Jika DTS tersambung kembali ke database sumber dan tujuan dalam rentang waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.
CatatanJika Anda menentukan rentang waktu ulang yang berbeda untuk beberapa tugas sinkronisasi data yang memiliki database sumber atau tujuan yang sama, rentang waktu ulang terpendek yang diambil akan menjadi prioritas.
Saat DTS mencoba kembali koneksi, Anda akan dikenakan biaya untuk instans DTS. Kami sarankan Anda menentukan rentang waktu ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instans DTS sesegera mungkin setelah instans sumber dan tujuan dilepaskan.
Retry Time for Other Issues
Rentang waktu ulang untuk masalah lainnya. Sebagai contoh, jika operasi DDL atau DML gagal dilakukan setelah tugas sinkronisasi data dimulai, DTS segera mencoba kembali operasi tersebut dalam rentang waktu tersebut. Nilai valid: 1 hingga 1440. Unit: menit. Nilai default: 10. Kami sarankan Anda menyetel parameter ini ke nilai lebih dari 10. Jika operasi yang gagal berhasil dilakukan dalam rentang waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.
PentingNilai parameter Retry Time for Other Issues harus lebih kecil daripada nilai parameter Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Selama sinkronisasi data penuh, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan. Hal ini dapat meningkatkan beban pada server database. Anda dapat mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk tugas sinkronisasi data penuh guna mengurangi beban pada server database tujuan.
CatatanAnda hanya dapat mengonfigurasi parameter ini jika Full Data Synchronization dipilih untuk parameter Synchronization Types.
Enable Throttling for Incremental Data Synchronization
Menentukan apakah akan mengaktifkan pembatasan untuk sinkronisasi data tambahan. Anda dapat mengaktifkan pembatasan untuk sinkronisasi data tambahan berdasarkan kebutuhan bisnis Anda. Untuk mengonfigurasi pembatasan, Anda harus mengonfigurasi parameter RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s). Ini mengurangi beban pada server database tujuan.
Environment Tag
Tag lingkungan yang digunakan untuk mengidentifikasi instans DTS. Anda dapat memilih tag lingkungan berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, tidak ada tag lingkungan yang dipilih.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Menentukan apakah akan menulis operasi SQL pada tabel detak jantung ke database sumber saat instans DTS sedang berjalan. Nilai valid:
Yes: tidak menulis operasi SQL pada tabel detak jantung. Dalam hal ini, latensi instans DTS mungkin ditampilkan.
No: Menulis operasi SQL pada tabel heartbeat. Dalam hal ini, fitur seperti pencadangan fisik dan kloning database sumber dapat terpengaruh.
Configure ETL
Menentukan apakah akan mengaktifkan fitur ekstraksi, transformasi, dan pemuatan (ETL). Untuk informasi lebih lanjut, lihat Apa Itu ETL? Nilai valid:
Yes: mengonfigurasi fitur ETL. Anda dapat memasukkan pernyataan pemrosesan data di editor kode. Untuk informasi lebih lanjut, lihat Konfigurasikan ETL dalam Tugas Migrasi Data atau Sinkronisasi Data.
No: tidak mengonfigurasi fitur ETL.
Monitoring and Alerting
Menentukan apakah akan mengonfigurasi peringatan untuk instans sinkronisasi data. Jika tugas gagal atau latensi sinkronisasi melebihi ambang batas yang ditentukan, kontak peringatan akan menerima notifikasi. Nilai valid:
No: tidak mengaktifkan peringatan.
Yes: mengonfigurasi peringatan. Dalam hal ini, Anda juga harus mengonfigurasi ambang batas peringatan dan pengaturan notifikasi peringatan. Untuk informasi lebih lanjut, lihat bagian "Konfigurasikan Pemantauan dan Peringatan Saat Membuat Tugas DTS" dari topik Konfigurasikan Pemantauan dan Peringatan.
Simpan pengaturan tugas dan jalankan pra-pemeriksaan.
Untuk melihat parameter yang harus ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi tugas DTS, gerakkan pointer ke Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters.
Jika Anda tidak perlu melihat atau telah melihat parameter, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
CatatanSebelum Anda dapat memulai tugas sinkronisasi data, DTS melakukan pra-pemeriksaan. Anda hanya dapat memulai tugas sinkronisasi data setelah tugas tersebut lulus pra-pemeriksaan.
Jika tugas sinkronisasi data gagal pra-pemeriksaan, klik View Details di sebelah setiap item yang gagal. Setelah Anda menganalisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut. Kemudian, jalankan kembali pra-pemeriksaan.
Jika peringatan dipicu untuk suatu item selama pra-pemeriksaan:
Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalah tersebut. Kemudian, jalankan pra-pemeriksaan lagi.
Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog Lihat Detail, klik Ignore. Di pesan yang muncul, klik OK. Kemudian, klik Precheck Again untuk menjalankan pra-pemeriksaan lagi. Jika Anda mengabaikan item peringatan, ketidaksesuaian data mungkin terjadi, dan bisnis Anda mungkin terpapar risiko potensial.
Beli instans.
Tunggu hingga Success Rate menjadi 100%. Kemudian, klik Next: Purchase Instance.
Di halaman buy, konfigurasikan parameter Metode Penagihan dan Kelas Instans untuk tugas sinkronisasi data. Tabel berikut menjelaskan parameter.
Bagian
Parameter
Deskripsi
New Instance Class
Metode Penagihan
Langganan: Anda membayar langganan saat membuat instans sinkronisasi data. Metode penagihan langganan lebih hemat biaya daripada metode penagihan bayar sesuai pemakaian untuk penggunaan jangka panjang.
Bayar sesuai pemakaian: Instans bayar sesuai pemakaian dibebankan per jam. Metode penagihan bayar sesuai pemakaian cocok untuk penggunaan jangka pendek. Jika Anda tidak lagi memerlukan instans sinkronisasi data bayar sesuai pemakaian, Anda dapat melepaskan instans untuk mengurangi biaya.
Pengaturan Grup Sumber Daya
Grup sumber daya tempat instans sinkronisasi data berada. Nilai default: default resource group. Untuk informasi lebih lanjut, lihat Apa itu Resource Management?
Kelas Instans
DTS menyediakan kelas instans yang bervariasi dalam kecepatan sinkronisasi. Anda dapat memilih kelas instans berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Kelas instans tugas sinkronisasi data.
Durasi Langganan
Jika Anda memilih metode penagihan langganan, tentukan durasi langganan dan jumlah instans sinkronisasi data yang ingin Anda buat. Durasi langganan bisa satu hingga sembilan bulan, satu tahun, dua tahun, tiga tahun, atau lima tahun.
CatatanParameter ini tersedia hanya jika Anda memilih metode penagihan Subscription.
Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start. Di kotak dialog yang muncul, klik OK.
Anda dapat melihat kemajuan tugas di daftar tugas.
Skema tabel data tambahan
Anda harus menjalankan perintah set odps.sql.allow.fullscan=true; di MaxCompute untuk mengizinkan pemindaian tabel penuh pada proyek MaxCompute.
DTS menyinkronkan data tambahan yang dihasilkan di database sumber ke tabel data tambahan di MaxCompute. Tabel ini berisi data tambahan dan metadata tertentu. Skema tabel data tambahan ditunjukkan dalam tabel berikut.
Bidang | Deskripsi |
record_id | ID rekaman log tambahan, yang merupakan pengenal unik log tersebut. Catatan
|
operation_flag | Tipe operasi. Nilai valid:
|
utc_timestamp | Cap waktu operasi dalam UTC. Ini juga merupakan cap waktu file log biner. |
before_flag | Menunjukkan apakah nilai kolom adalah nilai pra-update. Nilai valid: Y dan N. |
after_flag | Menunjukkan apakah nilai kolom adalah nilai pasca-update. Nilai valid: Y dan N. |