Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk menyinkronkan data dari instans ApsaraDB RDS for MySQL ke kluster Elasticsearch.
Prasyarat
-
Anda telah membuat kluster Elasticsearch tujuan. Untuk informasi selengkapnya, lihat Buat kluster Alibaba Cloud Elasticsearch.
-
Ruang penyimpanan kluster Elasticsearch tujuan harus lebih besar daripada ruang penyimpanan yang digunakan oleh instans sumber ApsaraDB RDS for MySQL.
Catatan
|
Jenis |
Deskripsi |
|
Batasan database sumber |
|
|
Batasan lainnya |
|
|
Kasus khusus |
|
Penagihan
Jenis sinkronisasi | Harga |
Sinkronisasi skema dan sinkronisasi data penuh | Gratis. |
Sinkronisasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Operasi SQL yang didukung
|
Jenis Operasi |
Operasi SQL |
|
DML |
INSERT, UPDATE, DELETE Catatan
Pernyataan UPDATE tidak dapat digunakan untuk menghapus field. |
Izin untuk akun database
|
Database |
Izin yang Diperlukan |
Metode Pembuatan dan Otorisasi |
|
Instans sumber ApsaraDB RDS for MySQL |
Izin baca pada objek yang akan disinkronkan. |
Buat akun dan Ubah izin akun. |
|
Kluster tujuan Elasticsearch |
Username login (default: elastic) dan password yang ditetapkan saat pembuatan kluster Elasticsearch. |
|
Jika akun database sumber tidak dibuat dan diberi izin di konsol ApsaraDB RDS for MySQL, pastikan akun tersebut memiliki izin REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, dan SELECT.
Pemetaan tipe data
Karena database sumber dan instans Elasticsearch mendukung tipe data yang berbeda, tipe data tidak selalu dapat dipetakan secara langsung. Selama sinkronisasi skema awal, DTS memetakan tipe data berdasarkan tipe yang didukung oleh instans Elasticsearch tujuan. Untuk informasi selengkapnya, lihat Pemetaan tipe data untuk sinkronisasi skema awal.
CatatanDTS tidak mengatur parameter
mappingdalamdynamicselama migrasi skema. Perilaku parameter ini bergantung pada pengaturan instans Elasticsearch Anda. Jika data sumber Anda dalam format JSON, pastikan bahwa nilai untuk kunci yang sama memiliki tipe data yang sama di semua baris dalam tabel. Jika tidak, DTS mungkin melaporkan error sinkronisasi. Untuk informasi selengkapnya, lihat dynamic.Tabel berikut menjelaskan pemetaan antara Elasticsearch dan database relasional.
Elasticsearch
Database relasional
Indeks
Database
Type
Tabel
Dokumen
Baris
Field
Kolom
Mapping
Skema database
Prosedur
Buka halaman daftar tugas sinkronisasi di wilayah tujuan. Anda dapat menggunakan salah satu dari dua metode berikut:
Dari konsol DTS
Login ke konsol Data Transmission Service (DTS).
Di panel navigasi kiri, klik Data Synchronization.
Di pojok kiri atas halaman, pilih wilayah tempat instans sinkronisasi berada.
Dari konsol DMS
CatatanOperasi aktual mungkin berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Mode sederhana dan Sesuaikan tata letak dan gaya antarmuka DMS.
Login ke Data Management (DMS).
Di bilah menu atas, pilih .
Di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instans sinkronisasi berada.
Klik Create Task untuk membuka halaman konfigurasi tugas.
-
Konfigurasikan database sumber dan tujuan.
Kategori
Konfigurasi
Deskripsi
Tidak ada
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama deskriptif agar mudah diidentifikasi. Nama tidak harus unik.
Source Database
Select Existing Connection
Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.
CatatanDi konsol DMS, item konfigurasi ini bernama Select a DMS database instance..
Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan manual informasi database berikut.
Database Type
Pilih MySQL.
Connection Type
Pilih Cloud Instance.
Instance Region
Pilih wilayah tempat instans sumber ApsaraDB RDS for MySQL berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menunjukkan sinkronisasi dalam satu akun Alibaba Cloud yang sama. Pilih No.
RDS Instance ID
Pilih ID instans sumber ApsaraDB RDS for MySQL.
Database Account
Masukkan akun database instans sumber ApsaraDB RDS for MySQL. Untuk informasi tentang izin yang diperlukan, lihat Izin 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 selengkapnya, lihat Gunakan sertifikat cloud untuk mengaktifkan enkripsi SSL dengan cepat.
Destination Database
Select Existing Connection
Untuk menggunakan instans database yang ditambahkan ke sistem (baru dibuat atau disimpan), pilih instans database dari daftar drop-down. Informasi database akan dikonfigurasi secara otomatis.
CatatanDi konsol DMS, item konfigurasi ini bernama Select a DMS database instance..
Jika Anda belum menambahkan instans database ke sistem, atau tidak perlu menggunakan instans yang sudah ditambahkan, konfigurasikan manual informasi database berikut.
Database Type
Pilih Elasticsearch.
Connection Type
Pilih Cloud Instance.
Instance Region
Pilih wilayah tempat kluster tujuan Elasticsearch berada.
Type
Pilih Cluster atau Serverless sesuai kebutuhan.
Instance ID
Pilih ID kluster tujuan Elasticsearch.
Database Account
Masukkan akun yang digunakan untuk menghubungkan ke kluster Elasticsearch. Ini adalah Username yang Anda masukkan saat membuat kluster 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.
CatatanPastikan blok CIDR alamat IP server DTS telah ditambahkan ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Hal ini dapat dilakukan secara otomatis atau manual. Untuk informasi selengkapnya, lihat Tambahkan blok CIDR alamat IP server DTS ke daftar putih.
Jika database sumber atau tujuan adalah database yang dikelola sendiri (di mana Access Method bukan Alibaba Cloud Instance), Anda juga harus mengklik Test Connectivity di kotak dialog CIDR Blocks of DTS Servers.
-
Konfigurasikan objek tugas.
-
Di halaman Configure Objects, konfigurasikan objek yang akan disinkronkan.
Konfigurasi
Deskripsi
Synchronization Types
Jenis sinkronisasi. Secara default, Incremental Data Synchronization dipilih. Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS akan menyinkronkan data historis objek yang dipilih dari database sumber ke kluster tujuan. Data historis ini menjadi dasar untuk sinkronisasi inkremental berikutnya.
Processing Mode of Conflicting 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, pemeriksaan awal gagal dan tugas sinkronisasi data tidak dimulai.
CatatanJika Anda tidak dapat menghapus atau mengganti nama tabel dengan nama yang sama di database tujuan, Anda dapat memetakannya ke nama tabel yang berbeda. Untuk informasi selengkapnya, lihat Petakan nama tabel dan kolom.
Ignore Errors and Proceed: Melewati pemeriksaan nama tabel duplikat di database tujuan.
PeringatanMemilih Ignore Errors and Proceed dapat menyebabkan inkonsistensi data dan membahayakan bisnis Anda. Contohnya:
Jika skema tabel sama dan catatan di database tujuan memiliki nilai primary key atau unique key yang sama dengan catatan di database sumber:
Selama sinkronisasi penuh, DTS mempertahankan catatan di kluster tujuan. Catatan yang sesuai dari database sumber tidak disinkronkan.
Selama sinkronisasi inkremental, catatan dari database sumber menimpa catatan di database tujuan.
Jika skema tabel berbeda, sinkronisasi data awal mungkin gagal. Hal ini dapat mengakibatkan hanya sebagian data kolom yang disinkronkan atau kegagalan sinkronisasi total. Lakukan dengan hati-hati.
Index Name
Jika Anda memilih Table Name, nama indeks yang dibuat di instans tujuan Elasticsearch sama dengan nama tabel.
Jika Anda memilih Database Name_Table Name, nama indeks yang dibuat di instans tujuan Elasticsearch merupakan gabungan dari nama database, garis bawah (_), dan nama tabel.
CatatanKonfigurasi pemetaan nama indeks berlaku untuk semua tabel.
Capitalization of Object Names in Destination Instance
Anda dapat mengonfigurasi kebijakan sensitivitas huruf besar/kecil untuk nama objek database, tabel, dan kolom yang disinkronkan ke instans tujuan. Secara default, DTS default policy dipilih. Anda juga dapat memilih untuk menggunakan kebijakan default database sumber dan tujuan. Untuk informasi selengkapnya, lihat Kebijakan sensitivitas huruf besar/kecil untuk nama objek tujuan.
Source Objects
Di kotak Source Objects, klik objek yang akan disinkronkan, lalu klik
untuk memindahkannya ke kotak Selected Objects.CatatanAnda dapat memilih objek pada level database atau tabel. Jika Anda memilih tabel sebagai objek sinkronisasi, objek lain seperti view, trigger, dan prosedur tersimpan tidak disinkronkan ke database tujuan.
Selected Objects
Untuk mengubah nama field setelah sinkronisasi, klik kanan nama tabel yang sesuai di kotak Selected Objects. Atur nama indeks, nama tipe, dan informasi lain untuk tabel di kluster Elasticsearch tujuan, lalu klik OK. Untuk informasi selengkapnya, lihat Petakan nama tabel dan kolom individual.
Catatan-
Karakter khusus satu-satunya yang didukung untuk nama indeks dan tipe adalah garis bawah (_).
-
Anda dapat mengatur kondisi filter SQL untuk memfilter data yang akan disinkronkan. Hanya data yang memenuhi kondisi filter yang disinkronkan ke instans tujuan. Untuk informasi selengkapnya, lihat Filter data menggunakan kondisi SQL.
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Konfigurasi
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas pada kluster bersama, dan Anda tidak perlu memilih kluster. Untuk kinerja yang lebih stabil, Anda dapat membeli kluster khusus untuk menjalankan tugas sinkronisasi DTS. Untuk informasi selengkapnya, lihat Apa itu kluster khusus DTS?.
Retry Time for Failed Connections
Setelah tugas sinkronisasi 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 juga dapat menentukan durasi kustom antara 10 hingga 1.440 menit. Kami menyarankan Anda mengatur durasi minimal 30 menit. Jika DTS berhasil terhubung kembali ke database dalam durasi yang ditentukan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
CatatanJika Anda memiliki beberapa instans DTS (misalnya, Instans A dan Instans B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu coba ulang jaringan menjadi 30 menit untuk Instans A dan 60 menit untuk Instans B, durasi yang lebih pendek yaitu 30 menit akan digunakan untuk keduanya.
Karena DTS membebankan biaya berdasarkan waktu proses tugas selama periode coba ulang koneksi, kami menyarankan Anda menyesuaikan durasi coba ulang berdasarkan kebutuhan bisnis atau segera melepas instans DTS setelah instans database sumber dan tujuan dilepas.
Retry Time for Other Issues
Setelah tugas sinkronisasi dimulai, jika terjadi masalah non-konektivitas lainnya pada database sumber atau tujuan (seperti exception eksekusi DDL atau DML), DTS melaporkan error dan segera memulai operasi coba ulang berkelanjutan. Durasi coba ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi coba ulang dalam rentang 1 hingga 1.440 menit. Kami menyarankan Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi coba ulang yang ditetapkan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas gagal.
PentingNilai untuk Retry Time for Other Issues harus lebih kecil daripada nilai untuk Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Selama tahap sinkronisasi penuh, DTS mengonsumsi sumber daya baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban database. Untuk mengurangi beban pada database sumber dan tujuan, Anda dapat mengatur batas laju untuk tugas sinkronisasi penuh dengan mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s).
CatatanItem konfigurasi ini hanya tersedia ketika Synchronization Types diatur ke Full Data Synchronization.
Anda juga dapat menyesuaikan laju sinkronisasi penuh setelah instans sinkronisasi berjalan.
Enable Throttling for Incremental Data Synchronization
Anda juga dapat mengatur batas laju untuk tugas sinkronisasi inkremental. Untuk mengurangi tekanan pada database tujuan, atur RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s).
Shard Configuration
Atur jumlah shard utama dan shard replika untuk indeks berdasarkan konfigurasi shard maksimum yang diizinkan untuk indeks di kluster tujuan Elasticsearch.
String Index
Metode untuk mengindeks string yang disinkronkan ke kluster tujuan Elasticsearch.
-
analyzed: String dianalisis sebelum diindeks. Anda juga perlu memilih alat analisis tertentu. Untuk informasi tentang jenis dan fungsi alat analisis, lihat Analyzers.
-
not analyzed: String tidak dianalisis. Nilai asli diindeks secara langsung.
-
no: String tidak diindeks.
Time Zone
Saat data bertipe DATETIME atau TIMESTAMP disinkronkan ke kluster tujuan Elasticsearch, Anda dapat memilih zona waktu yang akan disertakan.
CatatanJika data tipe waktu ini di instans tujuan tidak perlu menyertakan zona waktu, Anda harus mengonfigurasi tipe dokumen untuk data tipe waktu ini di instans tujuan terlebih dahulu.
DOCID
Anda tidak perlu mengonfigurasi ini. DOCID secara default menggunakan 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 sesuai kebutuhan. Tidak perlu memilih dalam contoh ini.
Configure ETL
Pilih apakah akan mengaktifkan fitur ekstrak, transformasi, muat (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.
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
Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latency melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.
No: Tidak ada peringatan yang dikonfigurasi.
Yes: Konfigurasi peringatan dengan mengatur ambang batas peringatan dan menentukan pemberitahuan peringatan. Untuk informasi selengkapnya, lihat Konfigurasi pemantauan dan peringatan selama konfigurasi tugas.
-
Setelah menyelesaikan konfigurasi di atas, klik Next: Configure Table and Field Mappings di bagian bawah halaman untuk mengatur kebijakan _routing dan nilai _id untuk tabel yang akan disinkronkan di kluster tujuan Elasticsearch.
Jenis
Deskripsi
Set _routing
Mengatur _routing memungkinkan Anda mengarahkan dan menyimpan dokumen pada shard tertentu di kluster Elasticsearch tujuan. Untuk informasi selengkapnya, lihat _routing.
-
Jika Anda memilih Yes, Anda dapat menggunakan kolom kustom untuk routing.
-
Jika Anda memilih No, _id digunakan untuk routing.
CatatanJika kluster Elasticsearch tujuan adalah versi 7.x, Anda harus memilih No.
_routing Column
Pilih kolom yang akan digunakan untuk routing.
CatatanParameter ini harus diatur 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.
Untuk melihat parameter API untuk mengonfigurasi instans ini, arahkan kursor ke tombol Next: Save Task Settings and Precheck dan klik Preview OpenAPI parameters di gelembung.
Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
CatatanSebelum tugas sinkronisasi dimulai, DTS menjalankan pemeriksaan awal. Tugas hanya dapat dimulai setelah semua item pemeriksaan awal lolos.
Jika pemeriksaan awal gagal, klik View Details untuk item yang gagal. Perbaiki masalah sesuai petunjuk, lalu jalankan pemeriksaan awal lagi.
Jika pemeriksaan awal menghasilkan peringatan:
Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti petunjuk untuk memperbaiki masalah, lalu jalankan pemeriksaan awal lagi.
Untuk item pemeriksaan yang dapat diabaikan, Anda dapat mengklik Confirm Alert Details, Ignore, OK, dan Precheck Again secara berurutan untuk melewati peringatan dan menjalankan kembali pemeriksaan awal. Jika Anda memilih untuk mengabaikan item peringatan, hal ini dapat menyebabkan masalah seperti inkonsistensi data dan menimbulkan risiko bagi bisnis Anda.
-
Beli instans.
Ketika Success Rate mencapai 100%, klik Next: Purchase Instance.
Di halaman Purchase, pilih metode penagihan dan spesifikasi link untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter ini secara detail.
Kategori
Parameter
Deskripsi
New Instance Class
Metode Penagihan
Langganan: Anda membayar saat membuat instans. Cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan bayar sesuai penggunaan. Semakin lama durasi langganan, semakin tinggi diskonnya.
Bayar sesuai penggunaan: Anda dikenai biaya per jam. Cocok untuk kebutuhan jangka pendek. Anda dapat melepas instans segera setelah digunakan untuk menghemat biaya.
Konfigurasi Kelompok Sumber Daya
Kelompok sumber daya tempat instans berada. Default-nya adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat Apa itu Resource Management?.
Spesifikasi Link
DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi link sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi link sinkronisasi data.
Durasi Langganan
Dalam mode langganan, pilih durasi dan jumlah untuk instans langganan. Anda dapat memilih langganan bulanan dari 1 hingga 9 bulan, atau langganan tahunan selama 1, 2, 3, atau 5 tahun.
CatatanOpsi ini hanya tersedia ketika metode penagihan adalah Subscription.
Setelah menyelesaikan konfigurasi, baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start. Di kotak dialog OK, klik OK.
Anda dapat melihat progres tugas di halaman Sinkronisasi Data.