PolarDB adalah layanan database online siap pakai, stabil, andal, dan skalabel dari Alibaba Cloud (Pelajari tentang PolarDB).
Sebelum Anda memulai
-
OpenSearch mendukung PolarDB for MySQL 5.6, 5.7, dan 8.0.
-
Kluster PolarDB harus berada dalam Akun Alibaba Cloud yang sama dengan yang Anda gunakan untuk Konsol OpenSearch.
-
Kluster PolarDB harus berada di Wilayah yang sama dengan aplikasi OpenSearch.
-
Kluster PolarDB baru memiliki binary logging (binlog) dinonaktifkan secara default, sehingga mencegah pendaftaran sumber data. Anda harus mengaktifkan binlog untuk melanjutkan dengan mengatur parameter
loose_polar_log_binkeON_WITH_GTID. Parameterbinlog_row_imagediatur keFULLsecara default dan tidak perlu diubah. -
OpenSearch mendukung instans kloning.
-
Kluster PolarDB harus berupa kluster read/write.
Fitur
-
Ambil data lengkap dari tabel database tertentu, baik secara manual maupun terjadwal.
-
Gabungkan data secara horizontal dari beberapa tabel sumber. Tabel sumber harus memiliki skema dan konfigurasi plugin sumber data yang identik, serta nilai primary key-nya harus unik. Nilai primary key yang duplikat akan menimpa catatan yang sudah ada. Fitur ini mendukung dua skenario utama:
-
Tabel aplikasi dikonfigurasi dengan satu sumber data yang berisi beberapa tabel sumber.
-
Tabel aplikasi dikonfigurasi dengan beberapa sumber data, masing-masing berisi satu atau lebih tabel sumber.
-
-
OpenSearch mendukung plugin transformasi bidang sumber data.
-
Metode sinkronisasi data yang didukung:
-
Sinkronisasi otomatis
-
Tidak ada sinkronisasi otomatis
-
-
Anda dapat menggunakan kondisi filter untuk sinkronisasi data lengkap.
-
Gunakan karakter wildcard (
*) untuk mencocokkan nama tabel database.
-
Saat Anda memilih **sinkronisasi otomatis**, OpenSearch menggunakan layanan internal untuk berlangganan binlog database Anda guna menyinkronkan data inkremental. Operasi pengguna, seperti menghapus tabel database, mengubah izin akses, membersihkan file binlog, atau mengubah password database, dapat mengganggu proses langganan ini. Gangguan tersebut dapat mencegah OpenSearch menyinkronkan data inkremental, dan OpenSearch tidak bertanggung jawab atas ketidakkonsistenan data yang diakibatkannya. Sebelum melakukan operasi semacam itu, pastikan Anda memahami sepenuhnya konsekuensi potensialnya dan mengambil tindakan pencegahan yang diperlukan.
-
Jika Anda memilih sinkronisasi otomatis, OpenSearch menjamin stabilitas layanan sinkronisasi tetapi tidak menjamin latensi tertentu. Jika bisnis Anda sensitif terhadap latensi sinkronisasi, kami menyarankan Anda menggunakan instansi langganan data DTS (Sinkronisasi real-time DTS).
Batasan
-
Kluster PolarDB hanya mendukung mode binlog
full. Untuk mengaktifkan mode ini, aturloose_polar_log_binkeON_WITH_GTID. Parameterbinlog_row_imagediatur keFULLsecara default dan tidak perlu diubah. -
Hanya PolarDB for MySQL 5.6, 5.7, dan 8.0 yang didukung.
-
Kluster PolarDB harus dimiliki oleh Akun Alibaba Cloud yang Anda gunakan untuk login ke Konsol OpenSearch.
-
Kluster PolarDB harus berada di Wilayah yang sama dengan aplikasi OpenSearch.
-
Anda tidak dapat mendorong data inkremental menggunakan SDK atau API ke aplikasi Edisi Standar yang menggunakan sumber data PolarDB.
-
Untuk aplikasi Edisi Standar, kondisi filter tidak didukung untuk sumber data PolarDB.
-
Sintaks
REPLACE INTOtidak didukung. -
Perintah
TRUNCATEdanDROPtidak didukung. Gunakan perintahDELETEuntuk menghapus data. -
Password akses PolarDB tidak boleh mengandung karakter
%. Jika tidak, tugas pengindeksan ulang akan gagal. -
OpenSearch tidak mendukung penggabungan kolom dari tabel sumber yang memiliki skema berbeda.
-
Atur kedua parameter
loose_max_statement_timedanconnect_timeoutke0. Setelah sinkronisasi data lengkap yang dipicu oleh pengindeksan ulang atau perubahan offline selesai, Anda dapat mengembalikan parameter tersebut ke nilai sebelumnya.
Catatan penggunaan
-
Jika sumber data, seperti instans RDS atau PolarDB, disambungkan ke instans Distributed Relational Database Service (DRDS) yang ingin Anda hubungkan ke OpenSearch, Anda harus menentukan nama database shard aktual dalam konfigurasi sumber data. Database DRDS dibagi menjadi satu database shadow dan delapan shard, serta data ditulis secara acak di seluruh shard tersebut.
-
Kluster PolarDB mendukung pergantian antara titik akhir internal dan publik. OpenSearch tidak membebankan biaya traffic untuk pengambilan data dari PolarDB.
-
OpenSearch hanya menarik data lengkap dari database utama. Kami menyarankan Anda menjadwalkan pengindeksan ulang dan impor data lengkap selama jam sepi.
-
Sistem secara otomatis mengonversi nilai tipe
datetimedantimestampdalam tabel PolarDB ke milidetik. Atur tipe bidang yang sesuai dalam tabel aplikasi keTIMESTAMP. -
Proses sinkronisasi mengecualikan dokumen yang tidak memenuhi kondisi filter data lengkap. Jika dokumen dengan nilai primary key yang sama sudah ada di tabel aplikasi, dokumen tersebut juga akan dihapus.
-
Jika tidak ada data inkremental yang dihasilkan dari sumber data selama 15 hari berturut-turut atau lebih, sinkronisasi data mungkin gagal. Untuk mengatasi masalah ini, lakukan pengindeksan ulang manual atau perubahan offline.
-
Jika enkripsi SSL diaktifkan pada kluster PolarDB, pastikan sertifikat SSL-nya masih berlaku. Sertifikat yang kedaluwarsa menyebabkan error koneksi. Perbarui sertifikat sebelum masa berlakunya habis.
-
Anda tidak dapat mengonfigurasi sumber data PolarDB di Wilayah Qingdao.
-
Untuk menyinkronkan data dari sumber data PolarDB, Anda harus menambahkan blok alamat IP server OpenSearch ke daftar putih IP instans RDS atau PolarDB Anda. Tabel berikut mencantumkan daftar putih IP untuk setiap wilayah.
Wilayah
Alamat IP
Hangzhou
100.104.190.128/26,100.104.241.128/26
Beijing
100.104.16.192/26,100.104.179.0/26
Shanghai
100.104.37.0/26,100.104.46.0/26
Shenzhen
100.104.87.192/26,100.104.132.192/26
Zhangjiakou
100.104.155.192/26,100.104.238.64/26
Jerman
100.104.127.0/26,100.104.35.192/26
Amerika Serikat
100.104.193.128/26,100.104.119.128/26
Singapura
100.104.58.192/26,100.104.74.192/26
Otorisasi akun
-
Saat menghubungkan ke sumber data PolarDB, Anda harus memberikan otorisasi akses ke kluster serta menyediakan akun dan password. Pilih kredensial akun Anda dengan cermat selama pengaturan awal.
-
Pastikan izin akun: Akun harus memiliki izin untuk melihat semua tabel dalam database, yang merupakan persyaratan layanan DTS hulu. Hal ini memastikan bahwa akun dapat menjalankan perintah
show create table *.*. Izin yang tidak mencukupi dapat menyebabkan kegagalan sinkronisasi real-time. -
Minimalkan perubahan izin akun: Mengubah kredensial akun dapat mengganggu tugas real-time yang sedang berjalan dan memengaruhi pembuatan versi aplikasi baru. Jika Anda mengubah password akun, Anda harus menghapus konfigurasi sumber data lalu membuat yang baru.
FAQ
-
Jika pengindeksan ulang macet setelah saya mengonfigurasi sumber data PolarDB, apa yang harus saya lakukan? Buat tabel uji di database yang sama dengan tabel sumber Anda. Tulis atau perbarui satu hingga dua catatan per menit untuk memastikan pembuatan binlog berkelanjutan selama proses pengindeksan ulang.
-
Setelah Anda menyelesaikan pembayaran tertunda untuk aplikasi Edisi Lanjutan, Anda dapat memicu pengindeksan ulang manual untuk melanjutkan sinkronisasi data.
-
Password akses kluster PolarDB tidak boleh mengandung karakter
%. Jika tidak, tugas pengindeksan ulang akan gagal dengan errorIllegal hex characters in escape (%) pattern. -
Sistem mensyaratkan bahwa nilai primary key dalam tabel aplikasi harus unik. Jika nilai primary key diduplikasi dalam skenario sharding tabel, data akan ditimpa. Anda dapat menggunakan plugin sumber data StringCatenateExtractor untuk menggabungkan beberapa nilai bidang. Bidang sumbernya adalah
pk,$table, di manapkadalah bidang primary key dari tabel kluster PolarDB dan$tableadalah variabel sistem default yang merepresentasikan nama tabel database yang sesuai. Karakter penggabungannya adalah-, yang dapat disesuaikan.
Misalnya, jika tabel kluster PolarDB adalah my_table_0 dan nilai bidang primary key-nya adalah 123456, maka nilai primary key baru setelah penggabungan adalah 123456-my_table_0.
-
Untuk memfilter data berdasarkan bidang
dateataudatetimedalam tabel database, Anda harus menggunakan format tanggal dan waktu lengkap dalam kondisi filter. Untuk bidang bernamacreatetime, kondisi yang valid adalahcreatetime>'2018-03-01 00:00:00'. Penggunaan format singkat seperticreatetime>'2018-3-1 00:00:00'akan menyebabkan error.
Konfigurasikan sumber data PolarDB
-
Anda dapat mengonfigurasi sumber data PolarDB saat membuat aplikasi.
-
Untuk aplikasi yang sudah ada, Anda dapat mengubah sumber data dengan melakukan perubahan offline pada halaman detail aplikasi.
Prosedur
1. Saat membuat atau mengubah aplikasi, buka langkah Data Source. Tambahkan atau edit sumber data, pilih PolarDB, lalu klik New Database.
2. Setelah memasukkan informasi sumber data PolarDB, klik Connect.
|
Parameter |
Deskripsi |
|
Cluster ID |
ID kluster PolarDB. Anda dapat memperoleh ID tersebut dari Konsol PolarDB. Parameter ini bersifat case-sensitive. Contoh: |
|
Database name |
Nama database yang akan dihubungkan dalam instans. Parameter ini tidak case-sensitive. |
|
Username |
Akun database yang digunakan untuk mengambil skema tabel dan data lengkap. Parameter ini bersifat case-sensitive. |
|
Password |
Password untuk akun yang ditentukan. |
OpenSearch mencoba menghubungkan dan memberikan umpan balik berdasarkan hasilnya:
|
Pesan |
Tindakan |
|
Kluster PolarDB ini tidak ada di wilayah saat ini untuk pengguna saat ini. |
Verifikasi bahwa Cluster ID benar dan pastikan kluster PolarDB berada di wilayah yang sama dengan aplikasi OpenSearch. Jika masalah berlanjut, kirim tiket. |
|
Gagal menghubungkan ke layanan database. |
Verifikasi bahwa detail koneksi PolarDB, termasuk Cluster ID, nama database, username, dan password, sudah benar. |
|
Tabel ini tidak ada di kluster PolarDB saat ini. |
Verifikasi bahwa nama tabel benar dan pastikan tabel tersebut ada di database PolarDB. |
|
Ada masalah dengan item konfigurasi kluster PolarDB. |
Buka halaman Parameter Settings di Konsol PolarDB, modifikasi item konfigurasi yang relevan, lalu coba lagi. |
3. Setelah terhubung ke sumber data PolarDB, pilih tabel data.
Pada daftar Data tables di sebelah kiri, centang kotak untuk tabel yang diinginkan lalu klik tombol >> untuk menambahkannya ke daftar Selected di sebelah kanan.
-
Pilih atau masukkan nama tabel yang akan diakses dalam database. Nama ini bersifat case-sensitive.
-
Pencocokan wildcard untuk tabel sharded didukung, seperti
table_*untuk mencocokkantable_a,table_b, dan seterusnya.
4. Jika koneksi berhasil, konfigurasikan bidang-bidangnya. OpenSearch secara otomatis mengambil bidang tabel. Untuk informasi tentang plugin sumber data, lihat Gunakan plugin pemrosesan data.
Untuk menambahkan plugin sumber data, klik tombol + di kolom Content conversion untuk pemetaan bidang yang sesuai. Setelah selesai memetakan bidang, klik OK.
5. Konfigurasikan kondisi filter untuk sumber data PolarDB (tidak didukung untuk Edisi Standar), atur metode sinkronisasi data, lalu klik Finish untuk menyelesaikan konfigurasi struktur aplikasi.
Metode sinkronisasi data menyediakan tiga opsi: Sinkronisasi otomatis, Instansi langganan data DTS, dan Tidak ada sinkronisasi otomatis.
-
Aplikasi OpenSearch dapat dikonfigurasi dengan beberapa sumber data, tetapi struktur tabel dan konfigurasinya harus identik.
-
Jika konsol menunjukkan bahwa sinkronisasi otomatis tidak didukung, gunakan Sinkronisasi real-time DTS.
-
Kondisi filter untuk sumber data PolarDB memastikan hanya catatan yang memenuhi kriteria tertentu yang disinkronkan. Untuk informasi konfigurasi detail, lihat Kondisi filter untuk sumber data.