All Products
Search
Document Center

OpenSearch:Konfigurasikan sumber data PolarDB

Last Updated:Apr 02, 2026

Sambungkan kluster PolarDB for MySQL ke OpenSearch sebagai sumber data untuk menyinkronkan data secara otomatis ke indeks pencarian Anda. OpenSearch menarik data lengkap sesuai permintaan atau berdasarkan jadwal, serta menjaga indeks tetap mutakhir dengan perubahan inkremental melalui binary logging.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Kluster PolarDB for MySQL yang menjalankan versi 5.6, 5.7, atau 8.0

  • Kluster berada di wilayah yang sama dengan aplikasi OpenSearch Anda

  • Kluster dibuat di bawah Akun Alibaba Cloud yang sama yang Anda gunakan untuk masuk ke Konsol OpenSearch (OpenSearch tidak dapat mengakses kluster milik akun lain)

  • Binary logging diaktifkan pada kluster (secara default dinonaktifkan — lihat Aktifkan binary logging di bawah ini)

Aktifkan binary logging

Tetapkan parameter berikut di kluster PolarDB for MySQL Anda sebelum menambahkannya sebagai sumber data:

ParameterNilai yang diperlukanDefaultCatatan
loose_polar_log_binON_WITH_GTIDOFFMengaktifkan binary logging dengan mode GTID
binlog_row_imageFULLFULLSudah diatur dengan benar secara default; verifikasi bahwa nilainya belum diubah

Untuk mengubah parameter ini, buka halaman Parameter Configuration di Konsol PolarDB.

Penting

Jika binary logging tidak diaktifkan, proses pengindeksan ulang (reindexing) mungkin terhenti. Jika hal ini terjadi, buat tabel uji di database sumber dan tulis atau perbarui satu atau dua baris per menit untuk menghasilkan log biner secara kontinu hingga proses pengindeksan ulang selesai.

Siapkan akun database

Akun database yang digunakan untuk menghubungkan sumber data memerlukan izin untuk membaca semua tabel di database sumber melalui Data Transmission Service (DTS). Verifikasi bahwa:

  • Akun tersebut dapat menjalankan SHOW CREATE TABLE *.* dengan sukses.

  • Akun tersebut memiliki izin SELECT pada semua tabel yang ingin Anda sinkronkan.

Peringatan

Jangan mengubah akun database atau izinnya setelah sumber data dikonfigurasi. Perubahan akun akan menghentikan sinkronisasi real-time dan dapat mencegah pembuatan versi aplikasi baru. Jika Anda harus mengubah kredensial akun, hapus sumber data tersebut lalu tambahkan kembali dengan kredensial baru.

Tambahkan alamat IP OpenSearch ke daftar putih kluster

OpenSearch mengakses kluster PolarDB for MySQL Anda dari sekumpulan alamat IP tetap. Tambahkan blok CIDR untuk wilayah Anda ke daftar putih alamat IP kluster.

WilayahBlok CIDR
Tiongkok (Hangzhou)100.104.190.128/26, 100.104.241.128/26
Tiongkok (Beijing)100.104.16.192/26, 100.104.179.0/26
Tiongkok (Shanghai)100.104.37.0/26, 100.104.46.0/26
Tiongkok (Shenzhen)100.104.87.192/26, 1100.104.132.192/26
Tiongkok (Qingdao)100.104.240.128/26, 1100.104.111.128/26
Tiongkok (Zhangjiakou)100.104.155.192/26, 100.104.238.64/26
Jerman (Frankfurt)100.104.127.0/26, 100.104.35.192/26
AS (Silicon Valley) dan AS (Virginia)100.104.193.128/26, 100.104.119.128/26
Singapura100.104.58.192/26, 100.104.74.192/26
Tidak ada biaya trafik yang dikenakan saat OpenSearch mengakses data PolarDB for MySQL, baik menggunakan titik akhir internal maupun publik. Anda dapat beralih antar titik akhir kapan saja.

Sambungkan sumber data PolarDB for MySQL

Konfigurasikan sumber data PolarDB for MySQL saat Anda membuat aplikasi baru. Untuk menambahkan sumber data ke aplikasi yang sudah ada, gunakan perubahan offline.

  1. Pada panel Select Data Source, pilih PolarDB lalu klik Connect to Database.

  2. Isi parameter koneksi lalu klik Connect. Jika koneksi gagal, OpenSearch akan menampilkan error:

    ParameterDeskripsi
    Cluster IDID kluster PolarDB for MySQL Anda. Temukan di Konsol PolarDB. ID ini bersifat case-sensitive. Contoh: pc-uf6c056ny9tiaj1l7
    Database NameNama database yang akan disambungkan. Tidak case-sensitive.
    UsernameAkun database untuk membaca skema tabel dan data lengkap. Case-sensitive.
    PasswordKata sandi untuk akun database. Tidak boleh mengandung tanda persen (%).
    ErrorResolusi
    Kluster PolarDB for MySQL tidak berada di wilayah yang sama dengan aplikasi OpenSearch.Verifikasi Cluster ID dan pastikan kluster serta aplikasi berada di wilayah yang sama. Jika wilayahnya cocok tetapi error tetap muncul, kirim tiket.
    Koneksi ke sumber data PolarDB for MySQL gagal.Periksa apakah Cluster ID, nama database, username, dan password semuanya benar.
    Tabel tidak ada di kluster PolarDB for MySQL saat ini.Verifikasi nama tabel dan pastikan tabel tersebut ada di kluster.
    Konfigurasi kluster PolarDB for MySQL tidak valid.Buka halaman konfigurasi parameter kluster ini di Konsol PolarDB dan perbaiki pengaturannya.

  3. Pilih tabel yang akan disinkronkan lalu klik OK.

    • Nama tabel bersifat case-sensitive.

    • Gunakan tanda bintang (*) sebagai wildcard untuk mencocokkan beberapa tabel dengan awalan nama yang sama. Misalnya, table_* akan mencocokkan table_a, table_b, dan tabel serupa lainnya. Semua tabel yang cocok harus memiliki skema yang sama.

  4. Konfigurasikan pemetaan bidang. OpenSearch secara otomatis memuat bidang sumber dari tabel. Petakan bidang tersebut ke bidang tujuan di aplikasi Anda. Untuk detail tentang mentransformasi nilai bidang selama sinkronisasi, lihat Plugin pemrosesan data.

  5. Tentukan kondisi filter untuk mengontrol baris mana yang disinkronkan, lalu klik Submit untuk menyimpan skema aplikasi. Untuk detail sintaks filter, lihat Konfigurasikan kondisi untuk memfilter bidang di sumber data ApsaraDB RDS dan PolarDB.

    Kondisi filter tidak didukung untuk aplikasi standar.

Cara kerja sinkronisasi data

Memahami cara OpenSearch memproses setiap baris membantu Anda memprediksi perilaku indeks dan menghindari ketidakkonsistenan data.

Sinkronisasi data lengkap

OpenSearch menarik semua baris dari database utama. Untuk setiap baris:

  • Jika baris tersebut belum ada di indeks, OpenSearch membuat dokumen baru.

  • Jika baris tersebut sudah ada di indeks, OpenSearch mengganti dokumen yang ada.

  • Baris yang tidak memenuhi kondisi filter tidak dimasukkan ke dalam indeks. Baris yang nilai kunci primernya cocok dengan dokumen yang sudah ada di tabel tujuan juga tidak dimasukkan.

Setelah sinkronisasi data lengkap selesai, OpenSearch beralih ke sinkronisasi inkremental menggunakan log biner untuk menerapkan perubahan berikutnya hampir secara real time.

Sinkronisasi inkremental

OpenSearch menangkap perubahan tingkat baris melalui log biner. Jika tidak ada data inkremental yang dihasilkan di sumber selama 15 hari atau lebih, sinkronisasi data mungkin gagal. Pulihkan dengan memicu perubahan offline manual. Untuk detailnya, lihat Lakukan perubahan offline.

Fitur yang didukung

  • Sinkronisasi data lengkap terjadwal atau sesuai permintaan: Tarik semua data di database atau tabel sumber secara manual, atau berdasarkan jadwal otomatis.

  • Penggabungan baris multi-tabel: Gabungkan baris dari beberapa tabel di satu atau beberapa sumber data menjadi satu tabel di aplikasi Anda. Tabel sumber harus memiliki skema yang sama dan konfigurasi plugin pemrosesan data yang identik. Nilai kunci primer duplikat dapat ditimpa.

  • Transformasi nilai bidang: Gunakan plugin pemrosesan data untuk mengonversi nilai bidang sumber sebelum diindeks.

  • Kondisi filter: Terapkan kondisi filter untuk hanya menyertakan baris yang cocok dari data lengkap atau inkremental.

  • Pencocokan tabel dengan wildcard: Gunakan * untuk mencocokkan tabel dengan awalan nama yang sama.

  • Instans klon: Kluster PolarDB for MySQL mendukung instans klon sebagai sumber data.

  • Pemisahan baca/tulis: Kluster PolarDB for MySQL mendukung pemisahan baca/tulis.

Batasan

BatasanDetail
Versi yang didukungHanya PolarDB for MySQL 5.6, 5.7, dan 8.0
Persyaratan akun yang samaKluster PolarDB for MySQL harus dibuat oleh Akun Alibaba Cloud yang sama yang digunakan untuk mengakses Konsol OpenSearch
Persyaratan wilayah yang samaKluster dan aplikasi OpenSearch harus berada di wilayah yang sama
Aplikasi standarTidak dapat menggunakan SDK atau operasi API OpenSearch untuk mendorong data inkremental. Kondisi filter tidak didukung.
Pernyataan SQL yang tidak didukungREPLACE INTO, TRUNCATE, dan DROP tidak didukung. Gunakan DELETE untuk menghapus data.
Pembatasan kata sandiKata sandi tidak boleh mengandung tanda persen (%). Kata sandi yang mengandung % menyebabkan pengindeksan ulang gagal dengan error "Illegal hex characters in escape (%) pattern".
Penggabungan bidang lintas-skemaTidak dapat menggabungkan nilai bidang dari tabel sumber yang menggunakan skema berbeda
Rekomendasi parameterAtur loose_max_statement_time dan connect_timeout ke 0 sebelum melakukan pengindeksan ulang atau perubahan offline. Sesuaikan nilainya berdasarkan beban kerja Anda setelah sinkronisasi data lengkap selesai.

Catatan penggunaan

Tipe data

  • Bidang bertipe DATETIME atau TIMESTAMP di tabel sumber dikonversi ke milidetik. Atur tipe bidang tujuan yang sesuai ke TIMESTAMP di aplikasi Anda.

  • Saat memfilter baris berdasarkan bidang DATE atau DATETIME, gunakan format lengkap: createtime>'2018-03-01 00:00:00'. Format pendek seperti '2018-3-1 00:00:00' akan menghasilkan error.

Beberapa sumber data

  • Konfigurasikan beberapa sumber data untuk satu tabel aplikasi, asalkan tabel sumber memiliki skema dan konfigurasi plugin pemrosesan data yang sama.

  • Jika sumber data ApsaraDB RDS for MySQL atau PolarDB dilampirkan ke instans PolarDB-X, tentukan nama shard database yang benar-benar digunakan di instans PolarDB-X. Setelah sharding database, setiap database logis di PolarDB-X memiliki satu database shadow dan delapan shard. Data ditulis ke shard secara acak.

Waktu impor data lengkap

  • OpenSearch hanya menarik data lengkap dari database utama. Jadwalkan impor data lengkap dan pembuatan ulang indeks selama jam sepi.

Enkripsi SSL

  • Jika enkripsi SSL diaktifkan pada kluster PolarDB for MySQL Anda, pastikan sertifikat SSL tetap valid. Sertifikat yang kedaluwarsa menyebabkan kegagalan koneksi.

Pemecahan masalah

Pengindeksan ulang terhenti setelah sumber data dikonfigurasi

Log biner mungkin tidak dihasilkan secara kontinu. Buat tabel uji di database sumber dan tulis atau perbarui satu atau dua baris per menit hingga proses pengindeksan ulang selesai. Hal ini memastikan aliran event log biner yang stabil.

Pengindeksan ulang gagal karena pembayaran tertunda

Jika aplikasi advanced yang dikonfigurasi dengan sumber data PolarDB for MySQL memiliki pembayaran tertunda, lunasi saldo yang tertunggak, lalu picu pengindeksan ulang secara manual dari Konsol OpenSearch.

Kunci primer duplikat saat menyinkronkan dari beberapa tabel

Saat Anda menyinkronkan dari beberapa tabel sumber dengan skema yang sama, nilai kunci primer duplikat di antara tabel menyebabkan dokumen saling menimpa. Untuk membuat kunci unik, gunakan plugin StringCatenateExtractor untuk menggabungkan kunci primer asli dengan nama tabel.

Tetapkan bidang sumber ke pk (ganti dengan nama bidang kunci primer aktual Anda) dan $table (variabel sistem yang berisi nama tabel), lalu gunakan tanda hubung (-) atau karakter kustom lain sebagai pemisah.

Misalnya, jika tabelnya adalah my_table_0 dan nilai kunci primernya adalah 123456, kunci gabungannya menjadi 123456-my_table_0.

Langkah selanjutnya