Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk memigrasikan data dari kluster PolarDB for MySQL ke instans ApsaraDB for SelectDB guna analisis data skala besar.
Prasyarat
Anda telah membuat kluster sumber PolarDB for MySQL dan instans target ApsaraDB for SelectDB.
Perhatian
Tipe | Deskripsi |
Batasan database sumber |
|
Batasan lainnya |
|
Penagihan
Tipe migrasi | Biaya konfigurasi tautan | Biaya transfer data |
Schema migration dan migrasi data penuh | Gratis. | Contoh ini gratis. Catatan Ketika Access Method untuk database tujuan adalah Public IP Address, biaya transfer data berlaku. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Migrasi data inkremental | Dikenakan biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Operasi SQL yang mendukung migrasi inkremental
Tipe operasi | Pernyataan SQL |
DML | INSERT, UPDATE, dan DELETE |
DDL |
|
Izin yang diperlukan untuk akun database
Database | Schema migration | Migrasi penuh | Migrasi inkremental |
Sumber: PolarDB for MySQL | Izin SELECT | Izin SELECT | Daftar kontrol akses |
Instans SelectDB tujuan | Izin USAGE_PRIV dan izin baca-tulis berikut: SELECT_PRIV, LOAD_PRIV, ALTER_PRIV, CREATE_PRIV, dan DROP_PRIV | ||
Untuk membuat akun database dan memberikan izin:
Untuk kluster PolarDB for MySQL, lihat Buat dan kelola akun database dan Kelola password akun database.
Untuk instans SelectDB, lihat Pengelolaan izin kluster dan Pengelolaan izin dasar.
Prosedur
Gunakan salah satu metode berikut untuk membuka halaman Data Migration dan pilih wilayah tempat instans migrasi data berada.
Konsol DTS
Masuk ke Konsol DTS.
Di panel navigasi sebelah kiri, klik Data Migration.
Di pojok kiri atas halaman, pilih wilayah tempat instans migrasi data berada.
Konsol DMS
CatatanOperasi aktual dapat berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Mode sederhana dan Sesuaikan tata letak dan gaya konsol DMS.
Masuk ke Konsol DMS.
Di bilah navigasi atas, arahkan kursor ke .
Dari daftar drop-down di sebelah kanan Data Migration Tasks, pilih wilayah tempat instans sinkronisasi data berada.
Klik Create Task untuk membuka halaman konfigurasi tugas.
Konfigurasikan database sumber dan tujuan. Tabel berikut menjelaskan parameter-parameternya.
Kategori
Konfigurasi
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami merekomendasikan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tidak perlu unik.
Source Database
Select Existing Connection
Jika Anda menggunakan instans database yang telah terdaftar di DTS, pilih instans tersebut dari daftar drop-down. DTS akan secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi selengkapnya, 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 ke DTS, atau tidak perlu menggunakan instans yang terdaftar di DTS, Anda harus mengonfigurasi informasi database berikut.
Database Type
Pilih PolarDB for MySQL.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Wilayah tempat kluster sumber PolarDB for MySQL berada.
Replicate Data Across Alibaba Cloud Accounts
Menentukan apakah akan memigrasikan data lintas akun Alibaba Cloud. Untuk contoh ini, pilih No.
CatatanUntuk mengonfigurasi tugas migrasi data antar akun Alibaba Cloud yang berbeda, Anda harus terlebih dahulu mengonfigurasi otorisasi RAM.
PolarDB Cluster ID
Pilih ID kluster sumber PolarDB for MySQL.
Database Account
Akun database kluster sumber PolarDB for MySQL. Untuk persyaratan izin, lihat Persyaratan izin untuk akun database.
Database Password
Masukkan password yang sesuai dengan akun database.
Encryption
Pilih opsi berdasarkan kluster PolarDB for MySQL Anda. Untuk informasi selengkapnya tentang fitur enkripsi Secure Sockets Layer (SSL), lihat Konfigurasikan enkripsi SSL.
Destination Database
Select Existing Connection
Jika Anda menggunakan instans database yang telah terdaftar di DTS, pilih instans tersebut dari daftar drop-down. DTS akan secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi selengkapnya, 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 ke DTS, atau tidak perlu menggunakan instans yang terdaftar di DTS, Anda harus mengonfigurasi informasi database berikut.
Database Type
Pilih SelectDB.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah untuk instans SelectDB tujuan.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini untuk migrasi dalam akun Alibaba Cloud yang sama. Pilih No.
Instance ID
Pilih ID instans SelectDB tujuan.
Database Account
Masukkan akun database untuk instans SelectDB tujuan. Untuk informasi tentang persyaratan izin, lihat Persyaratan izin untuk akun database.
Database Password
Masukkan password yang sesuai dengan akun database.
Di bagian bawah halaman, klik Test Connectivity and Proceed.
CatatanPastikan 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 selengkapnya, lihat Tambahkan alamat IP server DTS ke daftar putih.
Konfigurasikan objek yang akan dimigrasikan.
Di halaman Configure Objects, konfigurasikan objek yang ingin Anda migrasikan.
Konfigurasi
Catatan
Migration Types
Untuk melakukan hanya migrasi data penuh, pilih kedua opsi Schema Migration dan Full Data Migration.
Untuk melakukan migrasi data tanpa service downtime, pilih Schema Migration, Full Data Migration, dan Incremental Data Migration.
PentingSaat data dimigrasikan dari kluster PolarDB for MySQL ke instans SelectDB, tipe data akan dikonversi. Jika Anda tidak memilih Schema Migration, Anda harus membuat tabel yang menggunakan model kunci Unique atau Duplicate di instans SelectDB tujuan sebelum memulai migrasi data. Untuk informasi selengkapnya, lihat Data type mapping, Additional column information, dan Data model.
Jika Anda tidak memilih Incremental Data Migration, jangan menulis data baru ke instans sumber selama proses migrasi data untuk memastikan data consistency.
Processing Mode of Conflicting Tables
Precheck and Report Errors: Memeriksa apakah terdapat tabel dengan nama yang sama di database tujuan. Jika tidak ada tabel dengan nama yang sama, item pemeriksaan ini lolos. Jika terdapat tabel dengan nama yang sama, kesalahan akan dilaporkan selama fase precheck dan tugas migrasi data tidak akan dimulai.
CatatanJika Anda tidak dapat menghapus atau mengganti nama tabel dengan nama yang sama di database tujuan, Anda dapat mengubah nama tabel tersebut di database tujuan. Untuk informasi selengkapnya, lihat Map table and column names.
Ignore Errors and Proceed: Melewati pemeriksaan keberadaan tabel dengan nama yang sama di database tujuan.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan data inconsistency dan berpotensi menimbulkan risiko bagi bisnis Anda. Contohnya:
Jika skema tabel konsisten dan DTS menemukan catatan di database tujuan yang memiliki nilai primary key yang sama dengan catatan di database sumber, DTS tidak akan menyimpan catatan tersebut di kluster tujuan. Catatan dari database sumber akan menimpa catatan di database tujuan.
Jika skema tabel tidak konsisten, hanya data dari beberapa kolom yang mungkin dimigrasikan, atau migrasi dapat gagal. Harap berhati-hati.
Capitalization of Object Names in Destination Instance
Huruf kapital pada nama database, nama tabel, dan nama kolom di instans tujuan. Secara default, DTS default policy dipilih. Anda dapat memilih opsi lain untuk memastikan huruf kapital pada nama objek konsisten dengan database sumber atau tujuan. Untuk informasi selengkapnya, lihat Specify the capitalization of object names in the destination instance.
Source Objects
Pilih satu atau beberapa objek dari bagian Source Objects. Klik ikon
untuk menambahkan objek ke bagian Selected Objects. CatatanAnda dapat memilih database atau tabel sebagai objek migrasi.
Selected Objects
Untuk mengganti nama objek migrasi di instans tujuan, klik kanan objek migrasi tersebut di Selected Objects. Untuk informasi selengkapnya, lihat Schema, table, and column name mapping.
Jika Migration Types diatur ke Schema Migration, objek dipilih berdasarkan granularitas tabel, dan Anda perlu mengatur jumlah bucketing (parameter
bucket_count). Klik kanan tabel yang akan dimigrasikan dalam daftar Selected Objects. Di area Parameter Settings, atur Enable Parameter Settings ke Yes, tetapkan Value sesuai kebutuhan Anda, lalu klik OK.
CatatanUntuk memilih operasi SQL untuk migrasi inkremental pada tingkat database atau tabel, klik kanan objek yang akan dimigrasikan di Selected Objects dan pilih operasi SQL yang diinginkan di kotak dialog yang muncul.
Untuk menetapkan kondisi WHERE guna memfilter data, klik kanan tabel yang akan dimigrasikan di bagian Selected Objects dan atur kondisi filter di kotak dialog yang muncul. Untuk informasi selengkapnya, lihat Set filter conditions.
Jika Anda menggunakan fitur pemetaan nama objek, migrasi objek lain yang bergantung pada objek yang dipetakan tersebut mungkin gagal.
Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan.
Konfigurasi
Catatan
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas migrasi data ke kluster bersama jika Anda tidak menentukan kluster khusus. Jika Anda ingin meningkatkan stabilitas tugas migrasi data, beli kluster khusus. Untuk informasi selengkapnya, lihat Apa itu kluster khusus DTS.
Retry Time for Failed Connections
Rentang waktu percobaan ulang untuk koneksi yang gagal. Jika database sumber atau tujuan gagal terhubung setelah tugas migrasi data dimulai, DTS segera mencoba menghubungkan kembali dalam rentang waktu percobaan ulang. Nilai valid: 10 hingga 1.440. Satuan: menit. Nilai default: 720. Kami merekomendasikan agar Anda mengatur parameter ini ke nilai lebih dari 30. Jika DTS berhasil terhubung kembali ke database sumber dan tujuan dalam rentang waktu percobaan ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi data gagal.
CatatanJika Anda menentukan rentang waktu percobaan ulang yang berbeda untuk beberapa tugas migrasi data yang berbagi database sumber atau tujuan yang sama, nilai yang ditentukan terakhir akan diutamakan.
Saat DTS mencoba menghubungkan kembali, Anda dikenakan biaya untuk instans DTS. Kami merekomendasikan agar Anda menentukan rentang waktu percobaan ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepaskan instans DTS sesegera mungkin setelah database sumber dan instans tujuan dilepas.
Retry Time for Other Issues
Rentang waktu percobaan ulang untuk masalah lainnya. Misalnya, jika operasi DDL atau DML gagal dilakukan setelah tugas migrasi data dimulai, DTS segera mencoba mengulang operasi tersebut dalam rentang waktu percobaan ulang. Nilai valid: 1 hingga 1.440. Satuan: menit. Nilai default: 10. Kami merekomendasikan agar Anda mengatur parameter ini ke nilai lebih dari 10. Jika operasi yang gagal berhasil dilakukan dalam rentang waktu percobaan ulang yang ditentukan, DTS melanjutkan tugas migrasi data. Jika tidak, tugas migrasi 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 Migration
Menentukan apakah akan mengaktifkan pembatasan kecepatan untuk migrasi data penuh. Selama migrasi data penuh, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan. Hal ini dapat meningkatkan beban server database. Anda dapat mengaktifkan pembatasan kecepatan untuk migrasi data penuh berdasarkan kebutuhan bisnis Anda. Untuk mengonfigurasi pembatasan kecepatan, Anda harus mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s). Hal ini mengurangi beban server database tujuan.
CatatanAnda dapat mengonfigurasi parameter ini hanya jika Anda memilih Full Data Migration untuk parameter Migration Types.
Enable Throttling for Incremental Data Migration
Menentukan apakah akan mengaktifkan pembatasan kecepatan untuk migrasi data inkremental. Untuk mengonfigurasi pembatasan kecepatan, Anda harus mengonfigurasi parameter RPS of Incremental Data Migration dan Data migration speed for incremental migration (MB/s). Hal ini mengurangi beban server database tujuan.
CatatanAnda dapat mengonfigurasi parameter ini hanya jika Anda memilih Incremental Data Migration untuk parameter Migration Types.
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans. Parameter ini opsional.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Berdasarkan kebutuhan bisnis Anda, 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 keterlambatan.
No: Menulis informasi SQL heartbeat ke database sumber, yang dapat mengganggu fitur seperti backup fisik dan cloning database sumber.
Configure ETL
Menentukan apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai valid:
Yes: mengonfigurasi fitur ETL. Anda dapat memasukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasikan ETL dalam tugas migrasi data atau sinkronisasi data.
No: tidak mengonfigurasi fitur ETL.
Monitoring and Alerting
Menentukan apakah akan mengonfigurasi peringatan untuk tugas migrasi data. Jika tugas gagal atau latensi migrasi melebihi ambang batas yang ditentukan, kontak peringatan akan menerima notifikasi. Nilai valid:
No: tidak mengonfigurasi peringatan.
Yes: mengonfigurasi peringatan. Dalam hal ini, Anda juga harus mengonfigurasi ambang batas peringatan dan pengaturan notifikasi peringatan. Untuk informasi selengkapnya, lihat bagian Konfigurasikan monitoring dan peringatan saat membuat tugas DTS dalam topik Konfigurasikan monitoring dan peringatan.
Opsional: Setelah menyelesaikan konfigurasi di atas, klik Next: Configure Database and Table Fields untuk mengatur Primary Key Column, Distribution Key, dan Engine untuk tabel tujuan.
CatatanLangkah ini tersedia hanya jika Anda memilih Schema Migration untuk Migration Types selama konfigurasi objek tugas. Anda kemudian dapat memilih All untuk Definition Status untuk melakukan modifikasi.
Primary Key Column dapat berupa primary key komposit yang terdiri dari beberapa kolom. Anda harus memilih satu atau beberapa kolom dari Primary Key Column sebagai Distribution Key.
Jika tabel tidak memiliki primary key maupun kendala UNIQUE, Anda harus mengatur Engine ke duplicate. Jika tidak, hal ini dapat menyebabkan kegagalan instans atau kehilangan data.
Simpan pengaturan tugas dan jalankan pemeriksaan awal.
Untuk melihat parameter yang perlu ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi tugas DTS, arahkan kursor 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 migrasi data, DTS melakukan pemeriksaan awal. Anda hanya dapat memulai tugas migrasi data setelah tugas lolos pemeriksaan awal.
Jika tugas gagal lolos pemeriksaan awal, klik View Details di sebelah setiap item yang gagal. Setelah menganalisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut. Kemudian, jalankan pemeriksaan awal lagi.
Jika peringatan dipicu untuk suatu item selama pemeriksaan awal:
Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan atasi masalah tersebut. Kemudian, jalankan pemeriksaan awal lagi.
Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog View Details, klik Ignore. Di pesan yang muncul, klik OK. Kemudian, klik Precheck Again untuk menjalankan pemeriksaan awal lagi. Jika Anda mengabaikan item peringatan, ketidakkonsistenan data dapat terjadi, dan bisnis Anda mungkin terpapar risiko potensial.
Beli instance.
Tunggu hingga Success Rate menjadi 100%. Lalu, klik Next: Purchase Instance.
Di halaman Purchase Instance, konfigurasikan parameter Instance Class untuk instans migrasi data. Tabel berikut menjelaskan parameter-parameternya.
Bagian
Parameter
Deskripsi
New Instance Class
Resource Group
Kelompok sumber daya tempat instans migrasi data berada. Nilai default: default resource group. Untuk informasi selengkapnya, lihat Apa itu Resource Management?
Instance Class
DTS menyediakan kelas instans yang berbeda dalam kecepatan migrasi. Anda dapat memilih kelas instans berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Kelas instans untuk instans migrasi data.
Baca dan setujui Data Transmission Service (Pay-as-you-go) Service Terms dengan memilih kotak centang.
Klik Buy and Start. Di pesan yang muncul, klik OK.
Anda dapat melihat progres tugas di halaman Data Migration.
CatatanJika tugas migrasi data tidak dapat digunakan untuk memigrasikan data inkremental, tugas tersebut akan berhenti secara otomatis. Completed ditampilkan di bagian Status .
Jika tugas migrasi data dapat digunakan untuk memigrasikan data inkremental, tugas tersebut tidak akan berhenti secara otomatis. Tugas migrasi data inkremental tidak pernah berhenti atau selesai. Running ditampilkan di bagian Status.
Pemetaan tipe data
Kategori | Tipe data di PolarDB for MySQL | Tipe data di SelectDB |
Numerik | TINYINT | TINYINT |
TINYINT UNSIGNED | SMALLINT | |
SMALLINT | SMALLINT | |
SMALLINT UNSIGNED | INT | |
MEDIUMINT | INT | |
MEDIUMINT UNSIGNED | BIGINT | |
INT | INT | |
INT UNSIGNED | BIGINT | |
BIGINT | BIGINT | |
BIGINT UNSIGNED | LARGEINT | |
BIT(M) | INT | |
Decimal | Decimal Catatan Zerofill tidak didukung. | |
Numeric | Decimal | |
Float | Float | |
Double | DOUBLE | |
| BOOLEAN | |
TANGGAL DAN WAKTU | DATE | DATEV2 |
DATETIME[(fsp)] | DATETIMEV2 | |
Timestamp[(fsp)] | DATETIMEV2 | |
Time[(fsp)] | VARCHAR | |
YEAR[(4)] | INT | |
STRING |
| VARCHAR Penting Untuk mencegah kehilangan data, data CHAR dan VARCHAR(n) dikonversi ke VARCHAR(4*n) selama migrasi ke SelectDB.
|
| STRING | |
| STRING | |
| STRING | |
ENUM | STRING | |
SET | STRING | |
JSON | STRING |
Informasi kolom tambahan
Tabel berikut menjelaskan kolom tambahan yang secara otomatis ditambahkan oleh DTS atau yang harus Anda tambahkan secara manual ke tabel tujuan yang menggunakan model Duplicate.
Nama | Tipe data | Nilai default | Deskripsi |
_is_deleted | Int | 0 | Menunjukkan apakah data dihapus.
|
_version | Bigint | 0 |
|
_record_id | Bigint | 0 |
|