Gunakan Data Transmission Service (DTS) untuk memigrasikan data dari PolarDB for MySQL ke Elasticsearch.
Prasyarat
-
Anda telah membuat kluster Elasticsearch tujuan. Untuk informasi selengkapnya, lihat Mulai cepat: Buat kluster dan ambil data.
-
Ruang penyimpanan kluster Elasticsearch tujuan harus lebih besar daripada ruang yang digunakan oleh instans PolarDB for MySQL sumber.
Batasan
|
Jenis |
Deskripsi |
|
Batasan database sumber |
|
|
Batasan lainnya |
|
|
Catatan lainnya |
DTS secara berkala mengeksekusi perintah CREATE DATABASE IF NOT EXISTS |
Penagihan
|
Jenis migrasi |
Biaya konfigurasi instans |
Biaya traffic Internet |
|
Migrasi skema dan migrasi data penuh |
Gratis. |
Ketika parameter Access Method database tujuan diatur ke Public IP Address, Anda dikenai biaya untuk traffic Internet. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
|
Migrasi data inkremental |
Dikenai biaya. Untuk informasi selengkapnya, 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 mulus tanpa mengganggu aplikasi yang dikelola sendiri.
Operasi SQL untuk migrasi inkremental
|
Jenis |
Pernyataan SQL |
|
DML |
INSERT, UPDATE, dan DELETE Catatan
Menggunakan pernyataan UPDATE untuk menghapus kolom bukanlah operasi yang didukung. |
Persyaratan izin untuk akun database
|
Database |
Persyaratan izin |
Pembuatan dan otorisasi |
|
Kluster PolarDB for MySQL |
Izin baca pada objek yang akan dimigrasikan |
Pemetaan tipe data
-
Database sumber dan instance Elasticsearch mendukung tipe data yang berbeda yang tidak selalu dapat dipetakan secara langsung. Selama inisialisasi struktur, DTS memetakan tipe data berdasarkan tipe yang didukung oleh instance Elasticsearch target. Untuk informasi lebih lanjut, lihat Data type mapping for structure initialization.
CatatanSelama proses migrasi skema DTS, 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 selengkapnya, 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 sepenuhnya 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 yang akan 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 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.
Bagian
Parameter
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama tersebut tidak perlu unik.
Select Existing Connection
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 PolarDB for MySQL.
Connection Type
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah kluster PolarDB for MySQL sumber.
Cross-account
Contoh ini memigrasikan data dalam satu Akun Alibaba Cloud yang sama. Pilih No.
PolarDB Cluster ID
Pilih ID kluster kluster PolarDB for MySQL sumber.
Database Account
Masukkan akun database kluster PolarDB for MySQL sumber. Untuk informasi tentang izin yang diperlukan, lihat Izin yang diperlukan untuk akun database.
Database Password
Masukkan password untuk akun database.
Encryption
Pilih jenis koneksi sesuai kebutuhan. Untuk informasi selengkapnya tentang fitur enkripsi SSL, lihat Aktifkan enkripsi SSL.
Select Existing Connection
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 kluster Elasticsearch tujuan.
Type
Pilih Cluster atau Serverless sesuai kebutuhan Anda.
Instance ID
Pilih ID kluster Elasticsearch tujuan.
Database Account
Masukkan akun database untuk kluster Elasticsearch. Akun default adalah elastic.
Database Password
Masukkan kata sandi logon yang Anda atur saat membuat kluster Elasticsearch.
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 selengkapnya, 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
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.
Processing Mode for Existing Destination Tables
-
Precheck and Report Errors: DTS memeriksa apakah ada tabel di database tujuan dengan nama yang sama seperti di sumber. Pemeriksaan awal berhasil jika tidak ada tabel semacam itu. Jika ada, pemeriksaan awal gagal dan tugas migrasi data tidak dimulai.
CatatanJika Anda tidak dapat menghapus atau mengganti nama tabel dengan nama yang sama di database tujuan, Anda dapat mengubah namanya di database tujuan. Untuk informasi selengkapnya, lihat pemetaan nama objek.
-
Ignore Errors and Proceed: Melewati pemeriksaan awal untuk tabel dengan nama yang sama.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan ketidakkonsistenan data dan risiko gangguan layanan. Misalnya:
-
Jika skema tabel konsisten dan catatan di database tujuan memiliki nilai primary key yang sama dengan catatan di database sumber:
-
Selama migrasi data penuh, DTS mempertahankan catatan di kluster tujuan. Catatan dari database sumber tidak dimigrasikan.
-
Selama migrasi data inkremental, DTS tidak mempertahankan catatan di kluster tujuan. Catatan dari database sumber menimpa catatan di database tujuan.
-
-
Jika skema tabel tidak konsisten, inisialisasi data dapat gagal, hanya sebagian data yang dimigrasikan, atau migrasi gagal.
-
Index Name
-
Table Name
Jika Anda memilih Table Name, indeks yang dibuat di instans Elasticsearch tujuan memiliki nama yang sama dengan tabel sumber.
-
Database Name_Table Name
Jika Anda memilih Database Name_Table Name, indeks yang dibuat di instans Elasticsearch tujuan dinamai dalam format DatabaseName_TableName.
Case Policy for Destination Object Names
Konfigurasikan sensitivitas huruf besar/kecil untuk nama database, tabel, dan kolom objek yang dimigrasikan di instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk mempertahankan huruf besar/kecil yang sama seperti 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 dapat memilih database atau tabel sebagai objek migrasi. Jika Anda memilih tabel, objek lain seperti view, trigger, dan stored procedure tidak dimigrasikan ke database tujuan.
-
Untuk mengubah nama satu objek migrasi di instans target, klik kanan objek di kotak Selected Objects. Untuk informasi selengkapnya, lihat Pemetakan 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 Pemetakan nama skema, tabel, dan kolom ganda.
Catatan-
Hanya garis bawah (_) yang didukung sebagai karakter khusus dalam nama indeks dan nama tipe.
-
Untuk memfilter data dengan kondisi WHERE atau menentukan detail pasca-migrasi seperti indeks, tipe, dan nama kolom, klik kanan tabel di kotak Selected Objects. Konfigurasikan pengaturan di kotak dialog yang muncul. Untuk informasi selengkapnya, lihat Konfigurasikan kondisi filter.
-
Untuk memilih operasi SQL yang akan dimigrasikan di tingkat database atau tabel, klik kanan objek migrasi di kotak Selected Objects dan pilih operasi SQL yang diinginkan di kotak dialog yang muncul. Untuk informasi tentang operasi yang didukung, lihat Operasi SQL yang didukung untuk migrasi data inkremental.
-
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Deskripsi
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 kesalahan dan segera mulai mencoba menghubungkan kembali. Durasi percobaan ulang default adalah 720 menit. Anda dapat menyesuaikan waktu percobaan ulang ke nilai antara 10 hingga 1.440 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 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 kesalahan dan segera mulai mencoba mengulang operasi tersebut. Durasi percobaan ulang default adalah 10 menit. Anda dapat menyesuaikan waktu percobaan ulang ke nilai antara 1 hingga 1.440 menit. Kami menyarankan Anda mengatur durasi lebih dari 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditentukan, tugas migrasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
PentingNilai Retry Time for Other Issues harus kurang 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.
Environment Tag
Anda dapat memilih tag lingkungan untuk mengidentifikasi instans berdasarkan kebutuhan Anda. Parameter ini tidak wajib untuk contoh ini.
Shard Configuration
Atur jumlah shard primary dan replica untuk indeks berdasarkan konfigurasi shard maksimum untuk indeks di kluster Elasticsearch tujuan.
String Index
Menentukan cara mengindeks string yang dimigrasikan ke kluster Elasticsearch tujuan.
-
analyzed: Menganalisis string sebelum diindeks. Anda juga harus memilih alat analisis tertentu. Untuk informasi selengkapnya tentang jenis dan fungsi alat analisis, lihat Analyzers.
-
not analyzed: Mengindeks string secara langsung menggunakan nilai aslinya tanpa analisis.
-
no: Tidak mengindeks string.
Time Zone
Pilih zona waktu untuk tipe data terkait waktu (seperti DATETIME dan TIMESTAMP) yang dimigrasikan ke instans Elasticsearch tujuan.
CatatanJika tipe data terkait waktu di instans tujuan tidak memerlukan zona waktu, Anda harus mengatur tipe dokumen (type) untuk tipe data tersebut di instans tujuan sebelum sinkronisasi.
DOCID
Secara default, DOCID adalah primary key tabel. Jika tabel tidak memiliki primary key, DOCID adalah kolom ID yang dihasilkan secara otomatis oleh Elasticsearch.
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 keterlambatan.
-
No: Menulis informasi SQL heartbeat ke database sumber. Hal ini dapat mengganggu fitur seperti backup fisik dan kloning database sumber.
Configure ETL
Berdasarkan kebutuhan bisnis Anda, pilih apakah akan mengonfigurasi fitur ETL untuk memproses data.
-
Yes: Mengonfigurasi fitur ETL. Anda juga harus memasukkan pernyataan pemrosesan data di kotak teks.
-
No: Tidak mengonfigurasi fitur ETL.
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 latensi melebihi ambang batas, sistem akan mengirimkan pemberitahuan peringatan.
-
-
Setelah menyelesaikan pengaturan di atas, klik Next: Configure Database and Table Fields untuk mengatur kebijakan _routing dan nilai _id untuk tabel yang akan dimigrasikan ke instans Elasticsearch tujuan.
Parameter
Deskripsi
Set _routing
Parameter _routing mengarahkan dokumen ke shard tertentu di instans Elasticsearch tujuan. Untuk informasi selengkapnya, lihat _routing.
-
Pilih Yes untuk menentukan kolom kustom untuk routing.
-
Pilih No untuk menggunakan nilai _id untuk routing.
CatatanJika instans Elasticsearch tujuan adalah versi 7.x, pilih No.
Value of _id
-
Primary key column
Primary key komposit digabung menjadi satu kolom.
-
Business key
Jika Anda memilih Business key, Anda juga harus menentukan business key column.
-
-
-
Simpan tugas dan jalankan pemeriksaan awal.
-
Untuk melihat parameter konfigurasi instans ini saat 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 lulus 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.
-
Ketika 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 tersebut 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.
-
-