Pelajari cara migrasi data dari instans ApsaraDB RDS for MySQL ke kluster Alibaba Cloud Elasticsearch menggunakan DTS.
Prasyarat
-
Anda telah membuat instans Elasticsearch tujuan. Untuk petunjuknya, lihat Buat instans Alibaba Cloud Elasticsearch.
-
Untuk melakukan migrasi data penuh, pastikan instans tujuan memiliki ruang penyimpanan yang lebih besar daripada yang digunakan oleh database sumber.
Batasan
-
Saat migrasi skema, DTS memigrasikan foreign key dari database sumber ke database tujuan.
-
Selama migrasi data penuh dan migrasi data inkremental, DTS sementara menonaktifkan pemeriksaan constraint dan operasi kaskade foreign key pada tingkat sesi. Melakukan operasi cascade update atau delete pada database sumber saat tugas berjalan dapat menyebabkan ketidakkonsistenan data.
|
Type |
Description |
|
Batasan database sumber |
|
|
Batasan lainnya |
|
|
Kasus khusus |
|
Penagihan
|
Jenis migrasi |
Biaya konfigurasi instans |
Biaya lalu lintas Internet |
|
Migrasi skema dan migrasi data penuh |
Gratis. |
Saat parameter Access Method database tujuan diatur ke Public IP Address, Anda dikenai biaya lalu lintas Internet. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan. |
|
Migrasi data inkremental |
Dikenai biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan. |
Jenis migrasi
-
Migrasi skema
DTS memigrasikan definisi skema objek migrasi dari database sumber ke database tujuan.
-
Migrasi penuh
DTS memigrasikan semua data historis dari objek migrasi yang ditentukan dari database sumber ke database tujuan.
-
Migrasi inkremental
Setelah migrasi penuh selesai, DTS memigrasikan pembaruan data inkremental dari database sumber ke database tujuan. Migrasi inkremental memungkinkan Anda memigrasikan data secara lancar tanpa mengganggu aplikasi yang dikelola sendiri.
Operasi SQL yang didukung untuk migrasi inkremental
|
Type |
Pernyataan SQL |
|
DML |
INSERT, UPDATE, dan DELETE Catatan
Menggunakan pernyataan UPDATE untuk menghapus kolom bukanlah operasi yang didukung. |
Izin akun database
|
Database |
Migrasi skema |
Migrasi data penuh |
Migrasi data inkremental |
Tindakan |
|
Instans ApsaraDB RDS for MySQL |
Hak istimewa |
Hak istimewa |
Hak istimewa |
|
|
Kluster Elasticsearch |
Akun database, biasanya akun |
|||
Pemetaan tipe data
-
Database sumber dan instans Elasticsearch mendukung tipe data berbeda yang tidak selalu dapat dipetakan secara langsung. Selama inisialisasi struktur, DTS memetakan tipe data berdasarkan yang didukung oleh instans Elasticsearch target. Untuk informasi lebih lanjut, lihat Pemetaan tipe data untuk inisialisasi struktur.
CatatanSelama proses migrasi skema, DTS tidak mengatur parameter
mappingdynamic. Perilaku parameter ini bergantung pada pengaturan instans Elasticsearch Anda. Jika data sumber Anda bertipe JSON, Anda harus memastikan bahwa untuk kunci tertentu, nilai yang sesuai memiliki tipe data yang sama di semua baris dalam tabel. Jika tidak, DTS mungkin mengalami masalah sinkronisasi. Untuk informasi lebih lanjut, lihat dynamic. -
Pemetaan antara Elasticsearch dan database relasional bervariasi berdasarkan versi Elasticsearch.
PentingMulai Elasticsearch 7.0, satu indeks tidak lagi mendukung beberapa tipe, dan tipe benar-benar dihapus di Elasticsearch 8.0. Secara default, saat Anda mengonfigurasi tugas sinkronisasi atau migrasi, DTS memetakan tabel dari database relasional ke indeks di Elasticsearch. Anda dapat mengubah pemetaan ini saat mengonfigurasi objek untuk disinkronkan atau dimigrasikan.
Elasticsearch 7.0 dan versi lebih baru
Elasticsearch
Database relasional
index
table
document
row
field
column
mapping
schema
Versi sebelum Elasticsearch 7.0
Elasticsearch
Database relasional
index
database
type
table
document
row
field
column
mapping
schema
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 berdasarkan mode dan tata letak Konsol DMS. Untuk informasi lebih lanjut, 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
Description
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama tersebut tidak harus 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 terdaftar, konfigurasikan manual informasi database di bawah.
Database Type
Pilih MySQL.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans ApsaraDB RDS for MySQL sumber berada.
Replicate Data Across Alibaba Cloud Accounts
Untuk migrasi data dalam satu Akun Alibaba Cloud, pilih No.
RDS Instance ID
Pilih ID instans ApsaraDB RDS for MySQL sumber.
Database Account
Masukkan akun database untuk instans ApsaraDB RDS for MySQL sumber. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan password yang sesuai dengan akun database.
Connection Method
Pilih Non-encrypted atau SSL-encrypted sesuai kebutuhan. Jika Anda memilih SSL-encrypted, Anda harus mengaktifkan enkripsi SSL untuk instans RDS for MySQL terlebih dahulu. Untuk informasi lebih lanjut, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL dengan cepat.
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 terdaftar, konfigurasikan manual informasi database di bawah.
Database Type
Pilih Elasticsearch.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans Elasticsearch tujuan berada.
Type
Pilih Cluster Edition atau Serverless sesuai kebutuhan Anda.
Instance ID
Pilih ID instans Elasticsearch tujuan.
Database Account
Masukkan akun yang digunakan untuk menghubungkan ke instans Elasticsearch. Ini adalah Username yang Anda tentukan saat membuat instans Elasticsearch. Akun default adalah elastic.
Database Password
Masukkan password yang sesuai dengan akun database.
Encryption
Pilih HTTP atau HTTPS sesuai kebutuhan.
-
-
Setelah menyelesaikan konfigurasi, klik Test Connectivity and Proceed di bagian bawah halaman.
Catatan-
Pastikan segmen alamat IP layanan DTS telah ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi lebih lanjut, lihat Tambahkan alamat IP server DTS ke daftar putih.
-
Jika database sumber atau tujuan adalah database yang dikelola sendiri (Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers yang muncul.
-
-
Konfigurasikan objek tugas.
-
Di halaman Configure Objects, konfigurasikan objek yang ingin Anda migrasikan.
Parameter
Description
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.
Processing Mode for Existing Destination Tables
-
Precheck and Report Errors: Memeriksa apakah tabel dengan nama yang sama 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 lebih lanjut, 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.
-
Index Name
-
Jika Anda memilih Table Name, indeks yang dibuat di instans Elasticsearch tujuan memiliki nama yang sama dengan tabel.
-
Jika Anda memilih Database Name_Table Name, nama indeks di instans Elasticsearch tujuan merupakan gabungan dari nama database, garis bawah (_), dan nama tabel.
CatatanKonfigurasi pemetaan nama indeks berlaku untuk semua tabel.
Case Policy for Destination Object Names
Anda dapat mengonfigurasi kebijakan case sensitivity 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 case sensitivity konsisten dengan kebijakan default database sumber atau tujuan. Untuk informasi lebih lanjut, lihat Case sensitivity nama objek di database tujuan.
Source Objects
Di panel Source Objects, klik objek yang ingin Anda migrasikan, lalu klik ikon
untuk memindahkan objek ke panel Selected Objects.Selected Objects
Untuk memodifikasi nama field setelah migrasi, klik kanan nama tabel yang sesuai di panel Selected Objects, atur nama indeks dan nama tipe untuk tabel di instans Elasticsearch tujuan, lalu klik OK. Untuk informasi lebih lanjut, lihat Petakan satu tabel dan kolom-kolomnya.
Catatan-
Satu-satunya karakter khusus yang didukung untuk nama indeks dan nama tipe adalah garis bawah (_).
-
Anda dapat mengatur kondisi filter SQL. Hanya data yang memenuhi kondisi ini yang akan dimigrasikan ke instans tujuan. Untuk informasi lebih lanjut, lihat Filter data tugas menggunakan kondisi SQL.
-
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Description
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada kluster 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 koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda dapat menyesuaikan durasi percobaan ulang ke nilai antara 10 hingga 1440 menit. Kami menyarankan Anda mengatur durasi lebih dari 30 menit. Jika DTS terhubung kembali ke database sumber dan tujuan dalam durasi yang ditentukan, tugas migrasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.
Catatan-
Untuk beberapa instans DTS yang berbagi sumber atau tujuan yang sama, waktu percobaan ulang jaringan ditentukan oleh pengaturan tugas yang terakhir dibuat.
-
Karena Anda dikenai biaya untuk tugas selama periode percobaan ulang koneksi, kami menyarankan Anda menyesuaikan waktu percobaan 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 pengecualian eksekusi DDL atau DML, di database sumber atau tujuan, DTS melaporkan error dan segera mulai mencoba operasi ulang. Durasi percobaan ulang default adalah 10 menit. Anda dapat menyesuaikan durasi percobaan ulang ke nilai antara 1 hingga 1440 menit. Kami menyarankan Anda mengatur durasi lebih dari 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditentukan, tugas migrasi secara otomatis dilanjutkan. Jika tidak, tugas gagal.
PentingNilai Retry Time for Other Issues harus kurang dari nilai Retry Time for Failed Connections.
Shard Configuration
Atur jumlah shard primary dan replica untuk indeks berdasarkan konfigurasi shard maksimum indeks di instans Elasticsearch tujuan.
String Index
Metode pengindeksan untuk string yang dimigrasikan ke instans Elasticsearch tujuan.
-
analyzed: String pertama-tama dianalisis lalu diindeks. Anda juga harus memilih analyzer tertentu. Untuk informasi tentang jenis analyzer dan fungsinya, lihat Analyzers.
-
not_analyzed: String tidak dianalisis dan diindeks menggunakan nilai aslinya.
-
no: String tidak diindeks.
Time Zone
Saat DTS memigrasikan tipe data berbasis waktu, seperti DATETIME dan TIMESTAMP, ke instans Elasticsearch tujuan, Anda dapat memilih zona waktu yang akan disertakan.
CatatanJika data berbasis waktu di instans tujuan tidak memerlukan zona waktu, Anda harus mengatur tipe dokumen (type) untuk tipe data ini di instans tujuan terlebih dahulu.
DOCID
Secara default, DOCID adalah primary key tabel. Jika tabel tidak memiliki primary key, DOCID adalah kolom ID yang dihasilkan secara otomatis oleh Elasticsearch.
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans berdasarkan kebutuhan Anda. Anda tidak perlu memilih tag dalam contoh ini.
Configure ETL
Pilih apakah akan mengaktifkan fitur extract, transform, and load (ETL). Untuk informasi lebih lanjut, lihat Apa itu ETL? Nilai yang valid:
-
Yes: Mengaktifkan fitur ETL. Masukkan pernyataan pemrosesan data di editor kode. Untuk informasi lebih lanjut, lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
-
No: Menonaktifkan fitur ETL.
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.
Monitoring and Alerting
Pilih apakah akan mengatur peringatan dan menerima pemberitahuan peringatan berdasarkan kebutuhan bisnis Anda.
-
No: Tidak mengatur peringatan.
-
Yes: Konfigurasikan peringatan dengan mengatur ambang batas peringatan dan pemberitahuan peringatan. Jika migrasi gagal atau latency melebihi ambang batas, sistem mengirimkan pemberitahuan peringatan.
-
-
Setelah menyelesaikan konfigurasi di atas, klik Next: Configure Database and Table Fields di bagian bawah halaman untuk mengatur kebijakan
_routingdan nilai_iduntuk tabel yang akan dimigrasikan di Elasticsearch tujuan.Type
Description
Set _routing
Mengatur _routing memungkinkan Anda mengarahkan dan menyimpan dokumen pada shard tertentu di instans Elasticsearch tujuan. Untuk informasi lebih lanjut, lihat _routing.
-
Pilih Yes untuk menggunakan kolom kustom untuk routing.
-
Pilih No untuk menggunakan nilai _id untuk routing.
CatatanJika instans Elasticsearch tujuan adalah versi 7.x, Anda harus memilih No.
_routing Column
Pilih kolom yang akan digunakan untuk routing.
CatatanParameter ini wajib diisi hanya jika Anda memilih Yes untuk Set _routing.
Value of _id
Pilih kolom yang akan digunakan sebagai ID dokumen.
-
-
-
Simpan tugas dan jalankan pemeriksaan awal (precheck).
-
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 balon 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 (precheck). Tugas hanya dimulai setelah lolos pemeriksaan awal.
-
Jika pemeriksaan awal gagal, klik View Details di sebelah item pemeriksaan yang gagal, perbaiki masalah berdasarkan prompt, 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 prompt, 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 lebih lanjut, lihat tabel berikut.
Kategori
Parameter
Deskripsi
New Instance Class
Resource Group Settings
Pilih resource group tempat instans berada. Nilai default-nya adalah default resource group. Untuk informasi selengkapnya, lihat Apa itu Resource Management?
Instance Class
DTS menyediakan spesifikasi migrasi dengan tingkat kinerja yang 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 tersebut berhenti secara otomatis setelah migrasi penuh selesai. Setelah tugas berhenti, Status-nya berubah menjadi Completed.
-
Jika tugas migrasi mencakup migrasi inkremental, tugas tersebut tidak berhenti secara otomatis. Tugas migrasi inkremental terus berjalan. Selama tugas migrasi inkremental berjalan, Status tugas adalah Running.
-
-