Topik ini menjelaskan cara menggunakan DTS untuk menyinkronkan data dari instans PolarDB-X 1.0 ke kluster Elasticsearch.
Prasyarat
-
Instans PolarDB-X 1.0 sumber harus menggunakan ApsaraDB RDS for MySQL sebagai tipe penyimpanannya. Ini mencakup instans ApsaraDB RDS kustom dan yang dibeli secara terpisah. PolarDB for MySQL tidak didukung.
-
Anda telah membuat kluster Elasticsearch tujuan. Untuk informasi selengkapnya, lihat Buat instans Alibaba Cloud Elasticsearch.
-
Ruang penyimpanan yang tersedia pada kluster Elasticsearch tujuan harus melebihi ukuran total data dari instans PolarDB-X 1.0 sumber.
Pertimbangan
|
Tipe |
Deskripsi |
|
Batasan database sumber |
|
|
Batasan lainnya |
|
|
Catatan lainnya |
DTS secara berkala memperbarui tabel |
Jika objek yang akan disinkronkan oleh DTS adalah alias indeks di Elasticsearch tujuan, ketidakkonsistenan data dapat terjadi ketika indeks aktual yang ditunjuk oleh alias indeks berubah. Misalnya, alias indeks menunjuk ke indeks A saat data ditulis. Namun, selama sinkronisasi operasi penghapusan berikutnya, alias indeks menunjuk ke indeks B. Dalam kasus ini, data di indeks A tidak dapat dihapus, dan data yang telah dihapus dari sumber masih dapat dikueri di tujuan.
Penagihan
|
Tipe sinkronisasi |
Harga |
|
Sinkronisasi skema dan sinkronisasi data lengkap |
Gratis. |
|
Sinkronisasi data inkremental |
Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Operasi SQL untuk sinkronisasi inkremental
Tipe operasi | Pernyataan SQL |
DML | INSERT, UPDATE, dan DELETE Catatan Penghapusan kolom menggunakan pernyataan UPDATE tidak didukung untuk sinkronisasi. |
Izin untuk akun database
|
Instance |
Izin yang diperlukan |
Referensi |
|
Instans PolarDB-X 1.0 sumber |
Izin baca pada objek yang akan disinkronkan. |
|
|
Instans Elasticsearch tujuan |
Akun database harus memiliki izin baca dan tulis. Biasanya, ini adalah akun elastic. |
|
Pemetaan tipe data
-
Database sumber dan instans Elasticsearch mendukung tipe data yang berbeda yang tidak selalu dapat dipetakan secara langsung. Selama inisialisasi struktur, DTS memetakan tipe data berdasarkan yang didukung oleh instans Elasticsearch target. Untuk informasi selengkapnya, lihat Pemetaan tipe data untuk inisialisasi struktur.
CatatanSelama proses migrasi skema DTS, DTS tidak mengatur parameter
dynamicdalammapping. 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 tergantung versi Elasticsearch.
PentingMulai Elasticsearch 7.0, sebuah 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 yang 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
Peringatan
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 dapat berbeda tergantung 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
Parameter
Deskripsi
N/A
Task Name
DTS secara otomatis menghasilkan nama tugas. Kami merekomendasikan agar Anda menentukan nama deskriptif untuk memudahkan identifikasi. Nama tersebut 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 PolarDB-X 1.0.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans PolarDB-X 1.0 sumber berada.
Replicate Data Across Alibaba Cloud Accounts
Contoh ini menyinkronkan data dalam satu Akun Alibaba Cloud yang sama. Pilih No.
Instance ID
Pilih ID instans dari instans PolarDB-X 1.0 sumber.
Database Account
Masukkan akun database dari instans PolarDB-X 1.0 sumber.
Database Password
Masukkan password yang sesuai dengan akun database.
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.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Pilih wilayah tempat instans Elasticsearch tujuan berada.
Type
Pilih Cluster atau Serverless sesuai kebutuhan bisnis Anda.
Instance ID
Pilih ID instans dari instans Elasticsearch tujuan.
Database Account
Masukkan akun yang digunakan untuk menghubungkan ke instans Elasticsearch tujuan. Ini adalah Login name 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 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.
Parameter
Deskripsi
Synchronization Types
Incremental Data Synchronization dipilih. Secara default, Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS melakukan sinkronisasi data lengkap dari objek yang dipilih dari instans sumber ke kluster tujuan. Ini berfungsi sebagai data garis dasar untuk sinkronisasi data inkremental berikutnya.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Memeriksa apakah database tujuan berisi indeks dengan nama yang sama. Jika tidak ada indeks dengan nama yang sama, pemeriksaan awal lolos. Jika ada indeks dengan nama yang sama, DTS melaporkan kesalahan selama pemeriksaan awal, dan tugas sinkronisasi tidak dimulai.
CatatanJika Anda tidak dapat menghapus atau mengganti nama indeks yang bertabrakan di database tujuan, Anda dapat menentukan nama berbeda untuk objek yang disinkronkan di instans tujuan untuk menghindari konflik nama.
-
Ignore Errors and Proceed: Melewati pemeriksaan indeks dengan nama yang sama di database tujuan.
PeringatanJika Anda memilih Ignore Errors and Proceed, ketidakkonsistenan data dapat terjadi, yang menimbulkan risiko bagi bisnis Anda. Misalnya:
-
Jika struktur mapping sama dan catatan di database tujuan memiliki nilai kunci utama yang sama dengan catatan di database sumber, DTS mempertahankan catatan tujuan selama inisialisasi tetapi menimpanya selama sinkronisasi data inkremental.
-
Jika struktur mapping berbeda, inisialisasi data mungkin gagal, hanya kolom parsial yang disinkronkan, atau sinkronisasi gagal sepenuhnya.
-
Index Name
-
Jika Anda memilih Table Name, indeks di instans Elasticsearch tujuan dinamai sesuai tabel sumber.
-
Jika Anda memilih Database Name_Table Name, indeks Elasticsearch tujuan dinamai dalam format
database_name_table_name.
CatatanKonfigurasi pemetaan nama indeks ini 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 bagian Source Objects, klik objek yang ingin Anda sinkronkan, lalu klik
untuk menambahkannya ke bagian Selected Objects.CatatanKami merekomendasikan agar Anda memilih tabel sebagai objek sinkronisasi. Jika Anda memilih seluruh database, perubahan untuk menambah atau menghapus tabel di database tersebut tidak disinkronkan ke database tujuan.
Selected Objects
-
Untuk mengganti nama objek sinkronisasi tunggal di instans tujuan, klik kanan objek tersebut di kotak Selected Objects. Untuk informasi selengkapnya tentang penggantian nama objek, lihat Memetakan satu database, tabel, atau kolom.
-
Untuk mengubah nama beberapa objek sinkronisasi di instans tujuan secara batch, klik Batch Edit di pojok kanan atas kotak Selected Objects. Untuk informasi selengkapnya, lihat Memetakan database, tabel, dan kolom secara batch.
Catatan-
Hanya garis bawah (_) yang didukung sebagai karakter khusus dalam nama indeks dan tipe.
-
Untuk menentukan kondisi WHERE untuk memfilter data, klik kanan tabel di bagian Selected Objects dan tentukan kondisi di kotak dialog yang muncul. Untuk informasi selengkapnya, lihat Tetapkan kondisi filter.
-
Jika Anda menggunakan fitur pemetaan nama objek, sinkronisasi objek dependen mungkin gagal.
-
-
Klik Next: Advanced Settings untuk mengonfigurasi parameter lanjutan.
Parameter
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas di 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 kesalahan dan segera mulai mencoba koneksi ulang. Durasi percobaan ulang default adalah 720 menit. Anda juga dapat menentukan durasi percobaan ulang kustom dari 10 hingga 1.440 menit. Kami merekomendasikan agar 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 tersebut gagal.
Catatan-
Jika Anda memiliki beberapa instans DTS (misalnya, Instans A dan Instans B) yang berbagi sumber atau tujuan yang sama, dan Anda mengatur waktu percobaan 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 mengenakan biaya untuk waktu proses tugas selama periode percobaan ulang koneksi, kami merekomendasikan agar Anda menyesuaikan durasi 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 sinkronisasi dimulai, jika terjadi masalah non-konektivitas lainnya pada database sumber atau tujuan (seperti pengecualian eksekusi DDL atau DML), DTS melaporkan kesalahan dan segera memulai operasi percobaan ulang berkelanjutan. Durasi percobaan ulang default adalah 10 menit. Anda juga dapat menyesuaikan durasi percobaan ulang dalam rentang 1 hingga 1.440 menit. Kami merekomendasikan agar Anda mengaturnya minimal 10 menit. Jika operasi terkait berhasil dalam durasi percobaan ulang yang ditetapkan, tugas sinkronisasi akan dilanjutkan secara otomatis. Jika tidak, tugas tersebut gagal.
PentingNilai untuk Retry Time for Other Issues harus kurang dari nilai untuk Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Selama tahap sinkronisasi lengkap, 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 lengkap 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).
Catatan-
Item konfigurasi ini hanya tersedia ketika Synchronization Types diatur ke Full Data Synchronization.
-
Anda juga dapat menyesuaikan laju sinkronisasi lengkap 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).
Environment Tag
Pilih tag lingkungan untuk mengidentifikasi instans berdasarkan kebutuhan Anda.
Shard Configuration
Atur jumlah shard utama dan shard replika untuk indeks berdasarkan konfigurasi shard maksimum indeks di instans Elasticsearch tujuan.
String Index
Menentukan cara mengindeks string yang disinkronkan ke instans Elasticsearch tujuan.
-
analyzed: String dianalisis sebelum diindeks. Anda juga harus memilih alat analisis tertentu. Untuk informasi selengkapnya tentang tipe dan fungsi alat analisis, lihat Analyzers.
-
not_analyzed: String diindeks dengan nilai aslinya tanpa analisis.
-
no: String tidak diindeks.
Time Zone
Saat DTS menyinkronkan tipe data terkait waktu seperti DATETIME dan TIMESTAMP ke instans Elasticsearch tujuan, Anda dapat memilih zona waktu yang akan disertakan.
CatatanJika tipe data terkait waktu di instans tujuan tidak memerlukan zona waktu, Anda harus menyetel tipe dokumen (type) untuk tipe data tersebut di instans tujuan terlebih dahulu.
DOCID
DOCID default adalah kunci utama tabel. Jika tabel tidak memiliki kunci utama, DOCID adalah kolom ID yang secara otomatis dihasilkan oleh instans Elasticsearch.
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.
Monitoring and Alerting
Tentukan apakah akan mengonfigurasi peringatan. Jika sinkronisasi gagal atau latensi melebihi ambang batas yang ditentukan, notifikasi akan dikirim ke kontak peringatan.
-
No: Tidak ada peringatan yang dikonfigurasi.
-
Yes: Konfigurasi peringatan dengan menetapkan ambang batas peringatan dan menentukan pemberitahuan peringatan. Untuk informasi selengkapnya, lihat Konfigurasi pemantauan peringatan selama konfigurasi tugas.
-
-
Setelah menyelesaikan konfigurasi di atas, klik Next: Configure Database and Table Fields di bagian bawah halaman. Kemudian, atur kebijakan _routing dan nilai _id untuk tabel yang ingin Anda sinkronkan ke instans Elasticsearch tujuan.
Tipe
Deskripsi
Set _routing
Anda dapat menggunakan fitur _routing untuk menyimpan dokumen di shard tertentu dari instans Elasticsearch tujuan. Untuk informasi selengkapnya, lihat _routing.
-
Jika Anda memilih Yes, Anda dapat menentukan kolom kustom untuk routing.
-
Jika Anda memilih No, nilai _id digunakan untuk routing.
CatatanJika instans Elasticsearch tujuan menjalankan versi 7.x, Anda harus memilih No.
_routing Column
Pilih kolom yang akan digunakan untuk routing.
CatatanParameter ini hanya diperlukan jika Anda mengatur Set _routing ke Yes.
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 yang muncul.
-
Jika Anda telah selesai melihat parameter API, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
Catatan-
Sebelum 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 kembali pemeriksaan awal.
-
Jika pemeriksaan awal mengembalikan peringatan:
-
Jika item pemeriksaan gagal dan tidak dapat diabaikan, klik View Details di sebelah item tersebut. Ikuti instruksi untuk memperbaiki masalah, lalu jalankan kembali pemeriksaan awal.
-
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 ketidakkonsistenan data dan menimbulkan risiko bagi bisnis Anda.
-
-
-
Beli instans.
-
Saat Success Rate mencapai 100%, klik Next: Purchase Instance.
-
Di halaman Purchase, pilih metode penagihan dan spesifikasi tautan untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter ini secara rinci.
Kategori
Parameter
Deskripsi
New Instance Class
Billing Method
-
Subscription: Anda membayar saat membuat instans. Ini cocok untuk kebutuhan jangka panjang dan lebih hemat biaya dibandingkan pay-as-you-go. Semakin lama durasi langganan, semakin tinggi diskonnya.
-
Pay-as-you-go: Anda dikenai biaya per jam. Ini cocok untuk kebutuhan jangka pendek. Anda dapat melepas instans segera setelah digunakan untuk menghemat biaya.
Resource Group Configuration
Kelompok sumber daya tempat instans tersebut berada. Default-nya adalah kelompok sumber daya default. Untuk informasi selengkapnya, lihat Apa itu Resource Management?.
Link Specification
DTS menyediakan spesifikasi sinkronisasi dengan tingkat kinerja berbeda. Spesifikasi tautan sinkronisasi memengaruhi laju sinkronisasi. Anda dapat memilih spesifikasi berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Spesifikasi tautan sinkronisasi data.
Subscription Duration
Dalam mode subscription, 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 Data Synchronization.
-