Anda dapat menggunakan Data Transmission Service (DTS) untuk memigrasikan data dari instans ApsaraDB RDS for MySQL ke proyek MaxCompute.
Prasyarat
-
Buat proyek MaxCompute tujuan dengan ruang penyimpanan lebih besar daripada yang digunakan oleh instans ApsaraDB RDS for MySQL sumber. Untuk informasi selengkapnya, lihat Buat proyek MaxCompute.
-
Konfigurasikan daftar putih alamat IP untuk MaxCompute agar mengizinkan akses dari DTS. Untuk informasi selengkapnya, lihat Konfigurasikan daftar putih alamat IP untuk mengizinkan layanan Alibaba Cloud mengakses MaxCompute.
-
Gunakan akun Alibaba Cloud (akun utama) untuk membuat dan mencatat pasangan AccessKey.
CatatanSebagai alternatif, buat pengguna RAM dan catat pasangan AccessKey-nya, lalu berikan peran super administrator (admin atau super_administrator) kepada pengguna tersebut.
Batasan
DTS tidak memigrasikan kunci asing dari database sumber ke database tujuan. Oleh karena itu, operasi seperti cascade delete di database sumber tidak dimigrasikan ke database tujuan.
|
Type |
Description |
|
Batasan database sumber |
|
|
Batasan lainnya |
|
|
Kasus khusus |
|
Penagihan
|
Jenis migrasi |
Biaya konfigurasi tugas |
Biaya lalu lintas internet |
|
Migrasi skema dan migrasi data penuh |
Tidak dikenai biaya. |
Tidak dikenai biaya dalam contoh ini. Catatan
Menetapkan Access Method database tujuan ke Public IP Address akan dikenai biaya Trafik internet. Untuk informasi selengkapnya, lihat Billing overview. |
|
Migrasi data inkremental |
Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Jenis migrasi
-
Migrasi skema
DTS memigrasikan skema tabel sumber ke MaxCompute dan menambahkan sufiks
_baseke nama tabel selama inisialisasi. Misalnya, jika tabel sumber bernamacustomer, tabel yang sesuai di MaxCompute diberi namacustomer_base. -
Migrasi data penuh
DTS memigrasikan semua data historis dari tabel sumber ke tabel
_basedi MaxCompute. Data ini menjadi garis dasar untuk migrasi data inkremental berikutnya. Misalnya, data dari tabelcustomerdi database sumber dimigrasikan ke tabelcustomer_basedi MaxCompute.CatatanTabel ini juga disebut tabel garis dasar penuh.
-
Migrasi data inkremental
DTS membuat tabel log inkremental di MaxCompute dan memigrasikan data inkremental dari database sumber ke tabel ini secara real time. Tabel ini diberi nama dengan menambahkan sufiks
_logke nama tabel sumber, misalnyacustomer_log.CatatanUntuk informasi selengkapnya tentang skema tabel log inkremental, lihat Skema tabel log inkremental.
Operasi SQL untuk migrasi inkremental
|
Type |
Pernyataan SQL |
|
DML |
INSERT, UPDATE, DELETE |
|
DDL |
ADD COLUMN Catatan
Operasi ADD COLUMN dengan atribut tidak didukung. |
Izin akun database
|
Database |
Migrasi skema |
Migrasi data penuh |
Migrasi data inkremental |
|
RDS MySQL |
Izin SELECT |
Izin SELECT |
REPLICATION SLAVE, REPLICATION CLIENT, dan izin SELECT pada objek yang akan dimigrasikan. DTS secara otomatis memberikan izin ini. |
|
MaxCompute |
Izin baca dan tulis |
||
Untuk membuat akun database RDS MySQL dan memberikan izin, lihat Buat akun dan Modifikasi izin akun.
Prosedur
-
Buka halaman daftar tugas migrasi untuk wilayah tujuan menggunakan salah satu metode berikut.
Dari Konsol DTS
-
Login ke Konsol Data Transmission Service (DTS).
-
Di panel navigasi kiri, klik Data Migration.
-
Di pojok kiri atas halaman, pilih wilayah tempat instans migrasi berada.
Dari Konsol DMS
CatatanOperasi aktual dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi selengkapnya, lihat Konsol mode sederhana dan Sesuaikan tata letak dan gaya Konsol DMS.
-
Login ke Konsol Data Management (DMS).
-
Di bilah menu atas, pilih .
-
Di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans migrasi berada.
-
-
Klik Create Task untuk membuka halaman konfigurasi tugas.
-
Konfigurasikan database sumber dan tujuan.
Kategori
Parameter
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menggunakan nama deskriptif agar mudah diidentifikasi. Nama tidak perlu unik.
Source Database
Select Existing Connection
-
Untuk menggunakan instans database yang telah ditambahkan ke sistem (dibuat atau disimpan), pilih instans database yang diinginkan dari daftar drop-down. Informasi database di bawah akan dikonfigurasi secara otomatis.
CatatanDi Konsol DMS, parameter ini bernama Select a DMS database instance..
-
Jika Anda belum mendaftarkan instans database ke sistem, atau tidak perlu menggunakan instans yang terdaftar, konfigurasikan informasi database di bawah secara manual.
Database Type
Pilih MySQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah instans RDS MySQL sumber.
Replicate Data Across Alibaba Cloud Accounts
Dalam contoh ini, instans database di bawah akun Alibaba Cloud saat ini digunakan. Pilih No.
RDS Instance ID
Pilih ID instans instans RDS MySQL sumber.
Database Account
Masukkan akun database instans RDS MySQL sumber. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan password untuk akun database.
Connection Method
Pilih Non-encrypted atau SSL-encrypted berdasarkan kebutuhan database Anda. Jika Anda mengatur parameter ini ke SSL-encrypted, Anda harus mengaktifkan enkripsi SSL untuk instans RDS for MySQL terlebih dahulu. Untuk informasi selengkapnya, lihat Aktifkan enkripsi SSL dengan cepat menggunakan sertifikat cloud.
Destination Database
Select Existing Connection
-
Untuk menggunakan instans database yang telah ditambahkan ke sistem (dibuat atau disimpan), pilih instans database yang diinginkan dari daftar drop-down. Informasi database di bawah akan dikonfigurasi secara otomatis.
CatatanDi Konsol DMS, parameter ini bernama Select a DMS database instance..
-
Jika Anda belum mendaftarkan instans database ke sistem, atau tidak perlu menggunakan instans yang terdaftar, konfigurasikan informasi database di bawah secara manual.
Database Type
Pilih MaxCompute.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah proyek MaxCompute target.
Project
Masukkan nama proyek MaxCompute target.
AccessKey ID of Alibaba Cloud Account
Masukkan pasangan AccessKey yang telah Anda siapkan di Prasyarat.
AccessKey Secret of Alibaba Cloud Account
-
-
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.
Catatan-
Pastikan segmen alamat IP layanan DTS telah ditambahkan—baik secara otomatis maupun manual—ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi selengkapnya, lihat Tambahkan alamat IP server DTS ke daftar putih.
-
Jika database sumber atau tujuan adalah database yang dikelola sendiri (parameter Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers yang muncul.
-
-
Klik OK untuk mengotorisasi akun MaxCompute.
-
Konfigurasikan objek tugas.
-
Di halaman Configure Objects, konfigurasikan objek yang ingin Anda migrasikan.
Parameter
Deskripsi
Migration Types
-
Jika Anda hanya perlu melakukan migrasi penuh, pilih Schema Migration dan Full Data Migration.
-
Untuk melakukan migrasi tanpa downtime, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.
Catatan-
Jika Anda tidak memilih Schema Migration, Anda harus memastikan bahwa database dan tabel untuk menerima data sudah ada di database tujuan. Anda juga dapat menggunakan fitur pemetaan nama objek di kotak Selected Objects sesuai kebutuhan.
-
Jika Anda tidak memilih Incremental Data Migration, jangan menulis data baru ke instans sumber selama migrasi data untuk memastikan konsistensi data.
Naming Rules of Additional Columns
Saat DTS memigrasikan data ke MaxCompute, DTS menambahkan kolom tambahan ke tabel target. Pilih New Rule atau Previous Rule berdasarkan kebutuhan bisnis Anda.
PeringatanSebelum memilih aturan, periksa apakah nama kolom tambahan bertentangan dengan nama kolom yang sudah ada di tabel target. Konflik nama dapat menyebabkan migrasi data gagal atau kehilangan data. Untuk informasi selengkapnya tentang aturan dan definisi kolom tambahan, lihat Nama dan definisi kolom tambahan.
Partition Definition of Incremental Data Table
Pilih nama partisi berdasarkan kebutuhan bisnis Anda. Untuk informasi selengkapnya tentang partisi, lihat Partisi.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama sudah ada di database tujuan. Jika tidak ada tabel dengan nama yang sama, pemeriksaan awal lolos. Jika ada tabel dengan nama yang sama, error dilaporkan selama pemeriksaan awal, dan tugas migrasi data tidak dimulai.
CatatanJika tabel di database tujuan memiliki nama yang sama tetapi tidak dapat dengan mudah dihapus atau diganti namanya, Anda dapat mengubah nama tabel di database tujuan. Untuk informasi selengkapnya, lihat Pemetaan nama objek.
-
Ignore Errors and Proceed: Melewati pemeriksaan untuk tabel dengan nama yang sama.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan risiko bisnis. Misalnya:
-
Jika skema tabel konsisten dan catatan di database tujuan memiliki nilai primary key yang sama dengan catatan di database sumber:
-
Selama migrasi penuh, DTS menyimpan catatan di database tujuan. Catatan dari database sumber tidak dimigrasikan.
-
Selama migrasi inkremental, DTS tidak menyimpan catatan di database tujuan. Catatan dari database sumber menimpa catatan di database tujuan.
-
-
Jika skema tabel tidak konsisten, hanya beberapa kolom data yang mungkin dimigrasikan, atau migrasi dapat gagal. Lanjutkan dengan hati-hati.
-
Capitalization of Object Names in Destination Instance
Anda dapat mengonfigurasi kebijakan sensitivitas huruf besar/kecil untuk nama objek yang dimigrasikan, seperti database, tabel, dan kolom, di instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk menjaga sensitivitas huruf besar/kecil konsisten dengan kebijakan default database sumber atau tujuan. Untuk informasi selengkapnya, lihat Sensitivitas huruf besar/kecil nama objek di database tujuan.
Source Objects
Pilih satu atau beberapa objek dari bagian Source Objects. Klik ikon
dan tambahkan objek ke bagian Selected Objects. CatatanAnda hanya dapat memilih objek pada tingkat tabel.
Selected Objects
-
Untuk mengubah nama satu objek migrasi di instans target, klik kanan objek di kotak Selected Objects. Untuk informasi selengkapnya, lihat Pemetaan nama skema, tabel, dan kolom individual.
-
Untuk mengubah nama beberapa objek migrasi di instans target, klik Selected Objects di pojok kanan atas kotak Batch Edit. Untuk informasi selengkapnya, lihat Pemetaan nama skema, tabel, dan kolom ganda.
Catatan-
Jika Anda menggunakan fitur pemetaan nama objek, migrasi objek lain yang bergantung pada objek yang diganti namanya mungkin gagal.
-
Untuk memfilter data menggunakan klausa WHERE, klik kanan tabel yang akan dimigrasikan di kotak Selected Objects dan tentukan kondisi filter di kotak dialog yang muncul. Untuk petunjuk, lihat Konfigurasi kondisi filter.
-
Untuk memilih operasi SQL yang akan dimigrasikan pada tingkat database atau tabel, klik kanan objek di kotak Selected Objects dan pilih operasi SQL yang diinginkan di kotak dialog yang muncul.
-
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada klaster bersama. Anda tidak perlu memilihnya. Jika Anda menginginkan tugas yang lebih stabil, Anda dapat membeli klaster khusus untuk menjalankan tugas migrasi DTS.
Retry Time for Failed Connections
Setelah tugas migrasi dimulai, jika koneksi ke database sumber atau tujuan gagal, DTS melaporkan error dan segera mulai mencoba menghubungkan kembali. Durasi coba ulang default adalah 720 menit. Anda dapat menyesuaikan waktu coba ulang ke nilai antara 10 hingga 1440 menit. Kami menyarankan Anda mengatur durasi lebih dari 30 menit. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam durasi yang ditentukan, tugas migrasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.
Catatan-
Untuk beberapa instans DTS yang berbagi sumber atau tujuan yang sama, waktu coba ulang jaringan ditentukan oleh pengaturan tugas yang terakhir dibuat.
-
Karena Anda dikenai biaya untuk tugas selama periode coba ulang koneksi, kami menyarankan Anda menyesuaikan waktu coba ulang berdasarkan kebutuhan bisnis Anda, atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.
Retry Time for Other Issues
Setelah tugas migrasi dimulai, jika terjadi masalah non-konektivitas, seperti exception eksekusi DDL atau DML, pada database sumber atau tujuan, DTS melaporkan error dan segera mulai mencoba mengulang operasi tersebut. Durasi coba ulang default adalah 10 menit. Anda dapat menyesuaikan waktu coba ulang ke nilai antara 1 hingga 1440 menit. Kami menyarankan Anda mengatur durasi lebih dari 10 menit. Jika operasi terkait berhasil dalam durasi coba ulang yang ditentukan, tugas migrasi akan dilanjutkan secara otomatis. Jika tidak, tugas akan gagal.
PentingNilai Retry Time for Other Issues harus lebih kecil dari nilai Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Selama migrasi penuh, DTS mengonsumsi sumber daya baca dan tulis pada database sumber dan tujuan, yang dapat meningkatkan beban database. Jika diperlukan, Anda dapat mengaktifkan pembatasan kecepatan untuk tugas migrasi penuh. Anda dapat mengatur Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk mengurangi beban pada database tujuan.
Catatan-
Item konfigurasi ini tersedia hanya jika Anda memilih Full Data Migration untuk Migration Types.
-
Anda juga dapat menyesuaikan kecepatan migrasi penuh setelah instans migrasi berjalan.
Enable Throttling for Incremental Data Migration
Jika diperlukan, Anda juga dapat memilih untuk mengatur batas kecepatan untuk tugas migrasi inkremental. Anda dapat mengatur RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s) untuk mengurangi beban pada database tujuan.
Catatan-
Item konfigurasi ini tersedia hanya jika Anda memilih Incremental Data Migration untuk Migration Types.
-
Anda juga dapat menyesuaikan kecepatan migrasi inkremental setelah instans migrasi berjalan.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Pilih apakah akan menulis informasi SQL heartbeat ke database sumber saat instans DTS berjalan.
-
Yes: Informasi SQL heartbeat tidak ditulis ke database sumber. Hal ini dapat menyebabkan instans DTS melaporkan delay.
-
No: Menulis informasi SQL heartbeat ke database sumber. Hal ini dapat mengganggu fitur seperti backup fisik dan kloning database sumber.
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans. Parameter ini opsional.
Configure ETL
Pilih apakah akan mengaktifkan fitur extract, transform, and load (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai yang valid:
-
Yes: Mengaktifkan fitur ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
-
No: Menonaktifkan fitur ETL.
Monitoring and Alerting
Pilih apakah akan mengatur peringatan dan menerima pemberitahuan peringatan berdasarkan kebutuhan bisnis Anda.
-
No: Tidak mengatur peringatan.
-
Yes: Konfigurasi peringatan dengan mengatur ambang batas peringatan dan pemberitahuan peringatan. Jika migrasi gagal atau latensi melebihi ambang batas, sistem akan mengirimkan pemberitahuan peringatan.
-
-
-
Simpan tugas dan jalankan pemeriksaan awal.
-
Untuk melihat parameter konfigurasi instans ini saat Anda memanggil operasi API, arahkan pointer ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung yang muncul.
-
Jika Anda tidak perlu melihat atau telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
Catatan-
Sebelum tugas migrasi dimulai, DTS melakukan pemeriksaan awal. Tugas hanya dimulai setelah lolos pemeriksaan awal.
-
Jika pemeriksaan awal gagal, klik View Details di sebelah item pemeriksaan yang gagal, perbaiki masalah berdasarkan petunjuk, lalu jalankan kembali pemeriksaan awal.
-
Jika peringatan dilaporkan selama pemeriksaan awal:
-
Untuk item pemeriksaan yang tidak dapat diabaikan, klik View Details di sebelah item yang gagal, perbaiki masalah berdasarkan petunjuk, lalu jalankan kembali pemeriksaan awal.
-
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again untuk melewati item peringatan dan menjalankan kembali pemeriksaan awal. Jika Anda memilih untuk mengabaikan peringatan, hal ini dapat menyebabkan masalah seperti ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.
-
-
-
Beli instans.
-
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
-
Di halaman Purchase, pilih spesifikasi link untuk instans migrasi data. Untuk informasi selengkapnya, lihat tabel berikut.
Kategori
Parameter
Deskripsi
New Instance Class
Resource Group Settings
Pilih kelompok sumber daya tempat instans berada. Nilai default adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat Apa itu Resource Management?
Instance Class
DTS menyediakan spesifikasi migrasi dengan tingkat kinerja berbeda. Spesifikasi link memengaruhi kecepatan migrasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi link migrasi data.
-
Setelah konfigurasi selesai, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
-
Klik Buy and Start. Di kotak dialog OK yang muncul, klik OK.
Anda dapat melihat progres tugas migrasi di halaman daftar Data Migration Tasks.
Catatan-
Jika tugas migrasi tidak mencakup migrasi inkremental, tugas akan berhenti secara otomatis setelah migrasi penuh selesai. Setelah tugas berhenti, Status-nya berubah menjadi Completed.
-
Jika tugas migrasi mencakup migrasi inkremental, tugas tidak berhenti secara otomatis. Tugas migrasi inkremental terus berjalan. Selama tugas migrasi inkremental berjalan, Status tugas adalah Running.
-
-
Skema tabel log inkremental
Anda perlu menjalankan set odps.sql.allow.fullscan=true; di MaxCompute untuk mengizinkan pemindaian tabel penuh.
Saat DTS memigrasikan data inkremental dari MySQL ke tabel data inkremental di MaxCompute, DTS menyimpan data di partisi tabel log inkremental dan menambahkan field metadata yang dijelaskan dalam tabel berikut.
|
Parameter |
Deskripsi |
|
record_id |
ID unik untuk catatan tersebut. Catatan
|
|
operation_flag |
Jenis operasi. Nilai yang valid adalah:
|
|
utc_timestamp |
Timestamp operasi dalam UTC, diekstrak dari binlog MySQL. |
|
before_flag |
Menunjukkan apakah catatan berisi nilai baris sebelum update. Nilai yang valid adalah |
|
after_flag |
Menunjukkan apakah catatan berisi nilai baris setelah update. Nilai yang valid adalah |