Topik ini menjelaskan cara mengonfigurasi sumber data ApsaraDB RDS dan menguraikan catatan penting terkait konfigurasi.
Konfigurasi ApsaraDB RDS
ApsaraDB RDS (Relational Database Service) adalah layanan database online yang stabil, andal, dan scalable dari Alibaba Cloud ( Pelajari lebih lanjut tentang ApsaraDB RDS ).
Sebelum memulai
-
Pencarian Terbuka mendukung instans ApsaraDB RDS untuk MySQL yang menjalankan MySQL 5.5, 5.6, 5.7, atau 8.0.
-
Anda harus menggunakan instans reguler ApsaraDB RDS Edisi Ketersediaan Tinggi. Instans Edisi Dasar dan instans Edisi Perusahaan tiga node bukan merupakan instans Edisi Ketersediaan Tinggi dan tidak didukung.
-
Instans ApsaraDB RDS harus berada di bawah Akun Alibaba Cloud yang sama dan di Wilayah yang sama dengan aplikasi Pencarian Terbuka Anda.
-
Instans ApsaraDB RDS yang diklon hanya didukung jika instans sumbernya merupakan instans Edisi Ketersediaan Tinggi.
-
Jika Anda menggunakan instans ApsaraDB RDS yang tidak didukung atau instans yang tidak memenuhi persyaratan, proses pengindeksan ulang akan gagal.
-
Sumber data ApsaraDB RDS harus berada dalam Virtual Private Cloud (VPC).
-
Sumber data PolarDB-X tidak didukung.
-
Otorisasi: Untuk mengizinkan Pencarian Terbuka mengakses data dari ApsaraDB RDS, Anda harus memberikan izin yang diperlukan. Jika Anda telah mengonfigurasi daftar putih alamat IP untuk instans tersebut, Pencarian Terbuka akan menambahkan alamat IP servernya ke daftar tersebut. Tanpa otorisasi, tombol Connect to Database dinonaktifkan.
Fitur yang didukung
-
Anda dapat menarik data lengkap dari tabel database tertentu menggunakan pengindeksan ulang manual dan terjadwal.
-
Anda dapat menggabungkan data dari beberapa tabel sumber. Tabel sumber harus memiliki skema dan konfigurasi plugin sumber data yang persis sama. Nilai kunci utama di tabel sumber harus unik. Jika nilai kunci utama duplikat, data akan ditimpa. Fitur ini mendukung dua skenario berikut:
-
Tabel aplikasi dikonfigurasi dengan satu sumber data yang berisi beberapa tabel sumber.
-
Tabel aplikasi dikonfigurasi dengan beberapa sumber data, dan setiap sumber data berisi satu atau beberapa tabel sumber.
-
-
Plugin konversi bidang sumber data didukung.
-
Metode sinkronisasi data berikut didukung:
-
Sinkronisasi otomatis.
-
Sinkronisasi Real-time menggunakan instans Data Transmission Service (DTS) yang Anda beli.
-
Tidak ada sinkronisasi otomatis.
-
-
Anda dapat menentukan kondisi filter untuk sinkronisasi data lengkap.
-
Anda dapat menggunakan karakter wildcard (
*) untuk mencocokkan nama tabel database.
-
Saat Anda memilih Sinkronisasi otomatis, Pencarian Terbuka menggunakan layanan internal untuk berlangganan log biner (binlog) database guna mendapatkan data inkremental. Operasi yang dipicu pengguna, seperti menghapus tabel database, mengubah izin akses, mengosongkan file binlog, atau mengubah kata sandi database, dapat mengganggu langganan ini. Pencarian Terbuka tidak bertanggung jawab atas kegagalan sinkronisasi data yang disebabkan oleh perubahan tersebut. Harap waspadai dampak potensial dan ambil tindakan pencegahan sebelum melakukan operasi tersebut.
-
Jika Anda memilih Sinkronisasi otomatis, Pencarian Terbuka menyediakan layanan sinkronisasi secara best-effort dan tidak menjamin latensi sinkronisasi. Untuk aplikasi yang sensitif terhadap latensi, gunakan instans Data Transmission Service (DTS) (sinkronisasi real-time).
Batasan
-
Parameter
binlog_row_imagepada instans ApsaraDB RDS harus diatur ke FULL. -
Hanya instans ApsaraDB RDS Edisi Ketersediaan Tinggi dan Edisi Kluster yang didukung.
-
Versi ApsaraDB RDS untuk MySQL yang didukung: 5.5, 5.6, 5.7, dan 8.0.
-
Untuk instans ApsaraDB RDS yang menjalankan MySQL 5.6, tingkatkan nilai parameter
loose_max_execution_timedanloose_max_statement_time. Hal ini mencegah error sepertiQuery execution was interrupted, max_statement_time exceededselama pengindeksan ulang. -
Instans ApsaraDB RDS harus berada di bawah Akun Alibaba Cloud yang sama dan di Wilayah yang sama dengan aplikasi Pencarian Terbuka Anda.
-
Setelah Anda mengonfigurasi sumber data ApsaraDB RDS untuk aplikasi Edisi Standar, Anda tidak dapat mendorong data inkremental menggunakan SDK atau memanggil API.
-
Untuk aplikasi Edisi Standar di wilayah luar Tiongkok daratan, Anda tidak dapat menentukan kondisi filter untuk sumber data ApsaraDB RDS.
-
Pernyataan REPLACE INTO tidak didukung.
-
Pernyataan TRUNCATE dan DROP tidak didukung. Gunakan pernyataan DELETE untuk menghapus data.
-
Instans ApsaraDB RDS yang diklon hanya didukung jika instans sumbernya merupakan instans Edisi Ketersediaan Tinggi.
-
Kata sandi untuk instans ApsaraDB RDS tidak boleh mengandung tanda persen (
%). Jika tidak, tugas pengindeksan ulang akan gagal. -
Anda tidak dapat menggunakan Akun istimewa untuk mengakses instance ApsaraDB RDS; jika dilakukan, koneksi akan gagal.
-
Anda tidak dapat menggabungkan kolom bidang dari tabel sumber dengan skema database yang berbeda.
-
Mode
replica clientdanreplica slavedengan binary logging dinonaktifkan tidak didukung. Untuk mempelajari cara memeriksa dan mengaktifkan binary logging, lihat dokumentasi.
Catatan penggunaan
-
Anda dapat mengakses ApsaraDB RDS melalui jaringan internal atau publik. Alibaba Cloud tidak membebankan biaya transfer data saat Pencarian Terbuka mengambil data dari ApsaraDB RDS.
-
Pencarian Terbuka hanya dapat menarik data lengkap dari database utama. Lakukan impor data lengkap dan pengindeksan ulang selama jam sepi.
-
Sistem secara otomatis mengonversi nilai datetime dan timestamp dalam tabel ApsaraDB RDS ke milidetik. Anda harus mengatur tipe bidang yang sesuai dalam skema aplikasi Anda ke TIMESTAMP.
-
Titik akhir internal untuk instans ApsaraDB RDS diaktifkan secara default. Anda harus mengajukan titik akhir publik secara manual untuk mengakses instans melalui internet.
-
Dokumen yang tidak memenuhi kondisi filter sumber data akan difilter selama sinkronisasi data lengkap. Jika dokumen dengan nilai kunci utama yang sama ada di tabel aplikasi tujuan, dokumen tersebut juga akan dihapus.
-
Jika tidak ada data inkremental yang dihasilkan di sumber data dalam periode panjang (15 hari atau lebih), sinkronisasi data mungkin terganggu. Jika hal ini terjadi, Anda dapat mengatasi masalah tersebut dengan melakukan pengindeksan ulang secara manual atau melakukan perubahan offline.
-
Untuk menyinkronkan data dari sumber data ApsaraDB RDS, Anda harus menambahkan blok CIDR server Pencarian Terbuka ke daftar putih alamat IP instans ApsaraDB RDS. Tabel berikut mencantumkan blok CIDR untuk setiap wilayah.
Wilayah
Blok 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,100.104.132.192/26
Tiongkok (Qingdao)
100.104.240.128/26,100.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
Singapura
100.104.58.192/26,100.104.74.192/26
Otorisasi akun
Perhatikan rekomendasi berikut untuk menghubungkan ke MySQL 5.7 dan 8.0:
-
Saat menghubungkan ke instans MySQL 5.7 atau versi yang lebih baru, Anda harus mengotorisasi akses ke instans ApsaraDB RDS serta menyediakan akun dan kata sandi. Berhati-hatilah saat memasukkan kredensial untuk pertama kalinya.
-
Pastikan izin akun: Akun harus memiliki izin untuk melihat semua tabel di database, yang merupakan persyaratan dari DTS hulu. Pastikan pernyataan show create table
*.* dapat dieksekusi dengan benar. Jika tidak, sinkronisasi data real-time mungkin gagal. -
Minimalkan perubahan pada izin akun: Tugas real-time Pencarian Terbuka bertindak sebagai klien MySQL. Perubahan pada akun dapat mengganggu tugas real-time dan memengaruhi pembuatan versi aplikasi baru. Jika Anda mengubah kata sandi akun, Anda harus memperbarui konfigurasi sumber data dengan menghubungkan ulang ke database.
-
Pencarian Terbuka memerlukan izin minimum berikut untuk mengakses instans ApsaraDB RDS Anda:
-
Izin
show create table. -
Izin
REPLICATION SLAVEatauREPLICATION CLIENT. -
binlog_row_imageharus diatur keFULL. -
binlog_formatharus diatur keROW.
-
FAQ
-
Jika Anda menggunakan Pengguna RAM untuk mengonfigurasi sumber data ApsaraDB RDS di Konsol, Anda harus memberikan izin yang diperlukan kepada Pengguna RAM tersebut. Jika tidak, pesan error Failed to connect to RDS service. Try again later. akan muncul. Untuk informasi lebih lanjut, lihat Buat dan otorisasi Pengguna RAM. Pastikan role AliyunServiceRoleForOpenSearch ada di Akun Alibaba Cloud Anda.
-
Kata sandi untuk instans ApsaraDB RDS tidak boleh mengandung tanda persen (
%). Jika tidak, tugas pengindeksan ulang akan gagal dan mengembalikan pesan error:Illegal hex characters in escape (%) pattern. -
Nilai kunci utama dalam tabel aplikasi harus unik. Jika Anda menyinkronkan data dari beberapa tabel, nilai kunci utama mungkin duplikat, yang menyebabkan data ditimpa. Untuk mencegah masalah ini, Anda dapat menggunakan plugin StringCatenateExtractor untuk menggabungkan beberapa nilai bidang. Atur bidang sumber ke
pk,$table. Gantipkdengan bidang kunci utama tabel ApsaraDB RDS.$tableadalah variabel sistem default yang merepresentasikan nama tabel. Anda hanya dapat menggunakan$tablesaat menggunakan wildcard untuk mencocokkan beberapa tabel. Atur delimiter ke-atau karakter kustom. Misalnya, jika tabel ApsaraDB RDS bernamamy_table_0dan nilai kunci utamanya adalah123456, nilai kunci utama baru setelah penggabungan adalah123456-my_table_0. -
Untuk memfilter data berdasarkan bidang bertipe date atau datetime, Anda harus menggunakan format waktu yang benar dalam kondisi filter. Misalnya, jika bidang sumber bernama createtime, kondisi filter harus dalam format
createtime>'2018-03-01 00:00:00'. Error akan terjadi jika Anda menggunakan format seperticreatetime>'2018-3-1 00:00:00'.
Proses konfigurasi
-
Anda dapat mengonfigurasi sumber data ApsaraDB RDS saat membuat aplikasi dengan cepat.
-
Untuk aplikasi yang sudah ada, buka halaman detail aplikasi dan ubah konfigurasi dengan melakukan perubahan offline.
Prosedur
-
Pilih ApsaraDB RDS sebagai sumber data dan klik Create Database.
-
Masukkan informasi instans ApsaraDB RDS dan klik Connect.
Parameter
Deskripsi
Instance ID
ID instansiasi basis data ApsaraDB RDS, bukan namanya. Anda dapat menemukan ID instans di Konsol ApsaraDB RDS. ID ini case-sensitive. Instans read-only tidak didukung. Contoh format ID instans: rm-bp19b4g5n11111111
Database Name
Nama database dalam instans tersebut. Nama ini tidak case-sensitive.
Username
Username case-sensitive untuk akun database read-only yang digunakan untuk mengambil skema dan data lengkap database.
Password
Kata sandi untuk akun read-only tersebut.
Pencarian Terbuka mencoba melakukan koneksi dan menampilkan pesan berdasarkan hasilnya:
Pesan
Solusi
Instans ApsaraDB RDS tidak tersedia untuk pengguna saat ini di wilayah saat ini.
Verifikasi bahwa ID instans benar dan pastikan instans ApsaraDB RDS berada di wilayah yang sama dengan aplikasi Pencarian Terbuka. Jika masalah berlanjut, kirim tiket.
Gagal terhubung ke layanan RDS.
Verifikasi bahwa detail koneksi benar, termasuk ID instans, nama database, username, dan password.
Tabel tidak ada di database ApsaraDB RDS saat ini.
Verifikasi bahwa nama tabel benar dan apakah tabel tersebut ada di database ApsaraDB RDS.
-
Setelah koneksi sumber data berhasil dibuat, pilih tabel sumber, klik panah kanan untuk memindahkannya ke daftar terpilih, lalu klik OK.
Pada kotak dialog Select Data Source, klik tab RDS, MaxCompute, PolarDB, atau PolarDB-X untuk menentukan jenis sumber data. Kemudian, pada bagian Select Database, asosiasikan database target, pilih tabelnya, lalu klik OK.
-
Pilih atau masukkan nama tabel yang ingin diakses di database. Nama ini case-sensitive.
-
Anda dapat menggunakan pola seperti
table_*untuk mencocokkan beberapa tabel, misalnyatable_adantable_b.
-
-
Petakan bidang. Pilih bidang database yang akan ditarik dan klik OK untuk menyelesaikan pembuatan aplikasi.
Pencarian Terbuka secara otomatis memetakan bidang sumber ke bidang aplikasi dengan nama yang sama. Jika namanya berbeda, Anda harus membuat pemetaan secara manual.
-
Di halaman ini, Anda dapat menambahkan bidang database yang akan dipetakan untuk sinkronisasi.
-
Di bagian Content Conversion, Anda dapat menambahkan plugin sumber data. Untuk informasi lebih lanjut tentang cara menggunakan plugin ini, klik di sini.

-
-
Konfigurasikan kondisi filter untuk sumber data ApsaraDB RDS.
Untuk tabel data
test_table_1, pilih Data Transmission Service (DTS) instance sebagai metode sinkronisasi. Di kolom Actions, Anda dapat mengklik Edit atau Delete untuk mengelola sumber data yang telah ditambahkan. Klik + Add Data untuk menambahkan lebih banyak tabel data, lalu atur kondisi di area Filter Conditions.-
Anda dapat mengonfigurasi beberapa sumber data untuk satu tabel aplikasi, tetapi struktur tabel dan konfigurasinya harus identik.
-
Kondisi filter yang dikonfigurasi untuk sumber data ApsaraDB RDS hanya menarik catatan yang memenuhi kondisi yang ditentukan. Untuk informasi lebih lanjut, lihat Data source filter conditions.
-