All Products
Search
Document Center

ApsaraDB for OceanBase (Deprecated):Konfigurasi dan modifikasi aturan pencocokan

Last Updated:Dec 30, 2025

Topik ini menjelaskan latar belakang, batasan, prosedur, skenario, serta tips pemecahan masalah untuk mengonfigurasi dan memodifikasi aturan pencocokan objek migrasi atau sinkronisasi.

Latar Belakang

Saat membuat tugas migrasi data atau sinkronisasi, Anda perlu menentukan objek yang akan dimigrasikan atau disinkronkan. Layanan transmisi data memungkinkan Anda menentukan objek secara langsung, mengimpor objek, atau mengonfigurasi aturan pencocokan untuk objek tersebut. Anda dapat menggunakan aturan pencocokan berbasis wildcard untuk menentukan dan memodifikasi objek migrasi atau sinkronisasi. Selain itu, Anda dapat mengonfigurasi logika pemetaan objek antara sumber dan target, sehingga memungkinkan penentuan sejumlah besar objek dengan cara yang sederhana dan efisien. Tabel baru yang memenuhi aturan pencocokan dapat disinkronkan secara otomatis ke target melalui operasi DDL untuk sinkronisasi inkremental. Untuk informasi lebih lanjut, lihat Operasi DDL yang didukung untuk sinkronisasi dan batasan.

Pola wildcard untuk migrasi/sinkronisasi data antar database

Tabel berikut menjelaskan pola wildcard yang didukung oleh layanan transmisi data untuk migrasi/sinkronisasi data antar database.

Catatan
  • Dalam tabel berikut, tanda bintang (*) menunjukkan wildcard.

  • Tugas sinkronisasi dua arah tidak mendukung agregasi database atau tabel.

Kategori

Aturan yang didukung

Contoh

Deskripsi

Migrasi objek langsung

*.*

kd_test*.person*

Semua tabel yang namanya dimulai dengan person di semua database yang namanya dimulai dengan kd_test dimigrasikan dari sumber ke target. Nama database sumber dan nama tabel tetap tidak berubah.

*.<tabel sumber>

kd_test*.person

Semua tabel bernama person di semua database yang namanya dimulai dengan kd_test dimigrasikan dari sumber ke target. Nama database sumber dan nama tabel tetap tidak berubah.

<database sumber>.*

kd_test.person*

Semua tabel yang namanya dimulai dengan person di database bernama kd_test dimigrasikan dari sumber ke target. Nama database sumber dan nama tabel tetap tidak berubah.

<database sumber>.<tabel sumber>

kd_test.person

Tabel bernama person di database bernama kd_test dimigrasikan dari sumber ke target. Nama database sumber dan nama tabel tetap tidak berubah.

Penggantian nama objek setelah migrasi

<database sumber>.<tabel sumber>=<database target>.<tabel target>

kd_test.person=kd_test_new.person_new

Tabel bernama person di database bernama kd_test dimigrasikan dari sumber ke target. Database kd_test diganti namanya menjadi kd_test_new, dan tabel person diganti namanya menjadi person_new.

<database sumber>.*=<database target>.*

kd_test.person*=kd_test_new.person*

Semua tabel yang namanya dimulai dengan person di database bernama kd_test dimigrasikan dari sumber ke target. Database kd_test diganti namanya menjadi kd_test_new, dan nama tabel sumber tetap tidak berubah.

*.<tabel sumber>=*.<tabel target>

kd_test*.person=kd_test*.person_new

Semua tabel bernama person di semua database yang namanya dimulai dengan kd_test dimigrasikan dari sumber ke target. Tabel-tabel tersebut diganti namanya menjadi person_new, dan nama database sumber tetap tidak berubah.

Agregasi objek

<database sumber>.*=<database target>.<tabel target>

kd_test.person*=kd_test.person_all

Semua tabel yang namanya dimulai dengan person di database bernama kd_test di sumber diagregasikan ke tabel person_all di database kd_test di target.

*.<tabel sumber>=<database target>.<tabel target>

kd_test*.person=kd_test_all.person

Semua tabel bernama person di semua database yang namanya dimulai dengan kd_test di sumber diagregasikan ke tabel person di database kd_test_all di target.

*.*=<database target>.<tabel target>

kd_test*.person*=kd_test_all.person_all

Semua tabel yang namanya dimulai dengan person di semua database yang namanya dimulai dengan kd_test di sumber diagregasikan ke tabel person_all di database kd_test_all di target.

*.*=<database target>.*

kd_test*.person*=kd_test_all.person*

Semua tabel yang namanya dimulai dengan person di semua database yang namanya dimulai dengan kd_test di sumber diagregasikan ke database kd_test_all di target. Nama tabel sumber tetap tidak berubah.

*.*=*.<tabel target>

kd_test*.person*=kd_test*.person_all

Semua tabel yang namanya dimulai dengan person di semua database yang namanya dimulai dengan kd_test di sumber diagregasikan ke tabel person_all di database yang namanya dimulai dengan kd_test di target. Nama database sumber tetap tidak berubah.

Persyaratan untuk aturan pencocokan adalah sebagai berikut:

  • Anda tidak dapat menggunakan wildcard untuk nama database dan tabel sekaligus pada target, misalnya, kd_test*.person*=kd_test*.person*.

  • Jika Anda menggunakan wildcard untuk database sumber dan target, ekspresi database harus sama antara sumber dan target, yang menunjukkan migrasi database langsung.

  • Jika Anda menggunakan wildcard untuk tabel sumber dan target, ekspresi tabel harus sama antara sumber dan target, yang menunjukkan migrasi tabel langsung.

  • Jika Anda menggunakan wildcard untuk database di target, Anda juga harus menggunakan wildcard untuk database di sumber.

  • Jika Anda menggunakan wildcard untuk tabel di target, Anda juga harus menggunakan wildcard untuk tabel di sumber.

Pola wildcard untuk migrasi/sinkronisasi data antara database dan instance Antrian Pesan

Tabel berikut menjelaskan pola wildcard yang didukung oleh layanan transmisi data untuk migrasi/sinkronisasi data antara database dan instance Antrian Pesan.

Catatan

Dalam tabel berikut, tanda bintang (*) menunjukkan wildcard.

Aturan yang didukung

Contoh

Deskripsi

*.*=<nama topik>

*.*=topic

Banyak tabel di banyak database dipetakan ke satu topik.

*.<tabel sumber>=<nama topik>

*.b=topic

Tabel bernama b di banyak database dipetakan ke satu topik.

<database sumber>.*=<nama topik>

a.*=topic

Banyak tabel di database a dipetakan ke satu topik.

<database sumber>.<tabel sumber>=<nama topik>

a.b=topic

Tabel b di database a dipetakan ke sebuah topik.

Batasan

  • Layanan transmisi data mendukung beberapa aturan. Pastikan setiap aturan berada dalam satu baris serta tidak memiliki spasi di awal atau akhir.

  • Aturan pencocokan untuk objek migrasi atau sinkronisasi harus diisi, sedangkan aturan pengecualian objek dapat dibiarkan kosong.

  • Operasi DDL untuk perubahan tidak didukung selama migrasi skema dan migrasi penuh.

  • None

  • Anda tidak diperbolehkan mengonfigurasi beberapa aturan pencocokan untuk memetakan tabel berbeda di database yang sama pada sumber ke database berbeda pada target, misalnya, a.a* = b.a* & a.b* = c.b*.

  • Dalam skenario agregasi database atau tabel, increment terbalik tidak didukung.

    Catatan

    Layanan transmisi data hanya memeriksa keberadaan agregasi database atau tabel saat tugas migrasi atau sinkronisasi data disimpan atau dimulai. Layanan transmisi data tidak memblokir agregasi database atau tabel yang terjadi selama tugas berjalan. Namun, pemetaan antara database atau tabel mungkin gagal diidentifikasi dengan benar selama increment terbalik, sehingga mengganggu kualitas data.

  • Saat ini, layanan transmisi data tidak mendukung pernyataan DDL CREATE DATABASE. Jika database baru yang dibuat di sumber memenuhi aturan pencocokan objek, Anda harus membuat database yang sesuai di target secara manual agar sinkronisasi data dari database baru tersebut dapat dilanjutkan.

Pertimbangan

  • Setelah mengonfigurasi aturan pencocokan objek dan aturan pengecualian, objek dalam himpunan beda dari kedua aturan tersebut dapat dipilih.

    Catatan

    Himpunan beda antara dua himpunan mencakup semua elemen yang ada di satu himpunan tetapi tidak di himpunan lainnya.

  • Setelah sinkronisasi DDL diaktifkan, pernyataan DDL untuk membuat tabel baru atau memodifikasi skema tabel di sumber akan disinkronkan ke target oleh layanan transmisi data jika tabel tersebut berada dalam himpunan beda dari aturan pencocokan dan pengecualian objek.

  • Perhatikan pertimbangan berikut jika Anda ingin mengagregasi beberapa tabel:

    • Kami menyarankan Anda mengonfigurasi pemetaan antara sumber dan target dengan menentukan aturan pencocokan.

    • Disarankan untuk secara manual membuat skema di target. Jika menggunakan layanan transmisi data untuk membuat skema, lewati objek yang gagal pada langkah migrasi skema.

    • Jika Anda memilih DDL Synchronization, database atau tabel mungkin terhapus secara tidak sengaja. Misalnya, saat beberapa database atau tabel di sumber diagregasikan ke satu database atau tabel di target, jika database atau tabel dihapus di sumber, database atau tabel agregasi tersebut mungkin ikut terhapus di target.

    • Saat membuat tugas migrasi data, klik Full Migration dan pilih Ignore untuk Handle Non-empty Tables in Target Database.

      Catatan

      Jika Anda memilih Ignore, data ditarik dalam mode IN untuk verifikasi penuh. Dalam kasus ini, verifikasi tidak berlaku jika target berisi data yang tidak ada di sumber, dan kinerja verifikasi menurun.

  • Jika aturan pemetaan penggantian nama dikonfigurasi untuk tabel, aturan pemetaan penggantian nama tersebut memiliki prioritas lebih tinggi. Misalnya, jika aturan a.b[0-3] dan a.b[3-5]=a.c dikonfigurasi, tabel a.b3 diganti namanya menjadi a.c.

  • Saat mengeksekusi pernyataan DDL RENAME TABLE, jika tabel yang diganti namanya tidak memenuhi aturan pencocokan atau pengecualian asli, masalah sinkronisasi tak terduga mungkin terjadi. Lanjutkan dengan hati-hati.

Konfigurasi aturan pencocokan antar database

  1. Selesaikan langkah-langkah sebelum Pilih Objek Migrasi atau Pilih Objek Sinkronisasi untuk tugas migrasi atau sinkronisasi data.

    Untuk informasi selengkapnya, lihat topik tentang migrasi data atau tugas sinkronisasi data untuk jenis sumber data yang sesuai.

    Catatan
  2. Di bagian Select Migration Objects, pilih Match Rules.

    image

  3. Pada bagian Specify Migration Scope, tentukan Object Migration Rules dan Object Exclusion Rules (opsional). Untuk informasi selengkapnya, lihat Aturan wildcard.

    Catatan

    Jika aturan yang dikonfigurasi mengandung spasi, proyek migrasi atau sinkronisasi objek mungkin gagal.

  4. Klik Verify.

    Untuk melihat hasil pencocokan, klik Preview Objects setelah verifikasi berhasil. Aturan pencocokan berbasis wildcard dan aturan pengecualian berlaku untuk tabel dan tampilan. Hasil pencocokan ditampilkan di tab Final Objects, New Objects, dan Removed Objects.

    Tab

    Deskripsi

    Objek Akhir

    Menampilkan objek migrasi yang cocok dengan aturan pencocokan yang ditentukan.

    Objek Baru

    Menampilkan objek migrasi yang tidak ada di hasil pencocokan sebelumnya.

    Objek Dihapus

    Menampilkan objek migrasi yang hanya ada di hasil pencocokan sebelumnya.

    Setelah Anda mengonfigurasi aturan pencocokan untuk memilih objek migrasi atau sinkronisasi, Anda dapat menetapkan kondisi penyaringan.

    image

    1. Pilih Matching Results > Final Objects dan arahkan pointer ke objek tabel target.

    2. Klik Settings.

    3. Pada kotak dialog Settings, tentukan klausa WHERE SQL standar untuk menyaring data berdasarkan baris. Lalu, klik Validate Syntax. Untuk informasi selengkapnya, lihat Gunakan kondisi SQL untuk menyaring data.

    4. Setelah validasi sintaks berhasil, klik OK.

      Anda juga dapat melihat informasi kolom objek migrasi di bagian View Columns.

  5. Lengkapi pengaturan tugas selanjutnya sesuai petunjuk.

Skema sampel

  • Migrasi objek langsung

    Migrasikan semua tabel yang namanya dimulai dengan test di semua database yang namanya dimulai dengan jenkins_api di sumber ke target, dan pertahankan nama database dan tabel asli. Untuk melakukannya, konfigurasikan aturan pencocokan seperti yang ditunjukkan pada gambar berikut.

    image.png

  • Penggantian Nama Objek Setelah Migrasi

    Migrasikan semua tabel yang namanya dimulai dengan test di database bernama jenkins_my2dh_one di sumber ke target, ganti nama database jenkins_my2dh_one menjadi jenkins_my2dh_one_new, dan pertahankan nama tabel asli. Untuk melakukannya, konfigurasikan aturan pencocokan seperti yang ditunjukkan pada gambar berikut.

    image.png

  • Agregasi Objek

    Agregasikan semua tabel yang namanya dimulai dengan order di semua database yang namanya dimulai dengan jenkins_api di sumber ke tabel order di database jenkins_api_all di target. Untuk melakukannya, konfigurasikan aturan pencocokan seperti yang ditunjukkan pada gambar berikut.

    截屏2023-12-04 18.33.49.png

  • Konfigurasi Aturan Pengecualian Objek

    Kecualikan tabel historis yang namanya dimulai dengan history_ dan tabel log yang namanya diakhiri dengan log di database jenkins_api_mysql56 di sumber dari migrasi. Untuk melakukannya, konfigurasikan aturan pencocokan seperti yang ditunjukkan pada gambar berikut.

    image.png

Modifikasi aturan pencocokan antar database

Deskripsi aturan

  • Anda tidak dapat menambahkan objek migrasi untuk tugas migrasi data pada fase increment terbalik.

  • Anda tidak dapat menambahkan objek migrasi saat memigrasikan data dari database PolarDB-O ke database OceanBase dalam mode kompatibel Oracle.

  • Tabel berikut menjelaskan skenario di mana aturan pencocokan dapat dimodifikasi.

    Fase migrasi data

    Status tugas migrasi

    Status fase

    /

    Belum Dimulai

    /

    Migrasi Penuh

    Berjalan

    Berjalan

    Gagal

    Gagal

    Stopped

    Stopped

    Incremental synchronization/Reverse increment

    Berjalan

    Berjalan

    Berjalan

    Memantau

    Gagal

    Gagal

    Stopped

    Stopped

Prosedur

  1. Buka kotak dialog View Objects.

    1. Login ke

      ApsaraDB for OceanBase console.

    2. Di panel navigasi sebelah kiri, pilih Data Transmission > Data Migration.

    3. Pada halaman Data Migration, klik nama tugas target untuk membuka halaman detailnya.

      image.png

    4. Klik View Objects di pojok kanan atas. Objek migrasi dan catatan modifikasi akan ditampilkan.

  2. Di kotak dialog View Objects, klik Modify Rules di pojok kanan bawah.

    image

  3. Di kotak dialog Modify Rules, ubah aturan pencocokan untuk objek migrasi guna menambah atau menghapus objek tersebut.

  4. Klik Verify. Untuk melihat hasil pencocokan, klik Preview Objects setelah verifikasi berhasil.

    Arahkan pointer ke objek baru dan klik Configuration yang muncul untuk mengonfigurasi kondisi filter objek tersebut.

    image

  5. Klik Next.

    • Saat menambahkan objek, sistem akan melakukan pra-pemeriksaan pada objek-objek tersebut.

    • Saat menghapus objek, jumlah objek yang akan dihapus akan ditampilkan.

  6. Klik Submit setelah pra-pemeriksaan berhasil atau Anda mengonfirmasi jumlah objek yang akan dihapus.

Setelah modifikasi objek dieksekusi, klik View Objects di pojok kanan atas halaman dan klik Modified records untuk melihat catatan dan detail modifikasi.

image

Konfigurasikan aturan pencocokan untuk migrasi/sinkronisasi data dari database ke instance Antrian Pesan

Saat menyinkronkan data dari database OceanBase ke instans DataHub, Kafka, atau RocketMQ, Anda dapat mengonfigurasi aturan pencocokan untuk memilih objek yang akan disinkronkan.

  1. Buat tugas sinkronisasi data dan lanjutkan ke langkah Select Synchronization Objects sesuai petunjuk.

    Untuk informasi selengkapnya, lihat topik tentang tugas sinkronisasi data untuk jenis sumber data yang sesuai.

  2. Di bagian Select Synchronization Objects, pilih Match Rules.

    image

  3. Tentukan Object Synchronization Rules dan Object Exclusion Rules (opsional). Untuk informasi selengkapnya, lihat Pola wildcard yang didukung untuk aturan pencocokan.

    Logika bisnis dalam konfigurasi aturan pencocokan bervariasi tergantung pada jenis tugas sinkronisasi data.

    • Jika target adalah instance DataHub, tipe topik dapat berupa Tuple atau BLOB.

      • Untuk tipe Tuple, Anda hanya dapat memasukkan nama topik yang ada tanpa wildcard atau spasi. Setelah memilih tabel, mereka dipetakan ke topik secara satu-satu.

      • Untuk tipe BLOB, metode pemetaan banyak-ke-satu dan satu-ke-satu didukung, serta tidak diperbolehkan menggunakan spasi.

        Jika Anda memilih Schema Synchronization saat menentukan tipe sinkronisasi, Anda dapat memilih untuk memasukkan nama topik yang ada atau membuat topik baru. Hanya satu metode pemetaan yang didukung. Anda hanya dapat memilih satu metode pemetaan untuk membuat atau memilih topik. Jika Anda tidak memilih Schema Synchronization saat menentukan tipe sinkronisasi, Anda hanya dapat memasukkan nama topik yang ada.

    • Jika target adalah instance Kafka atau RocketMQ, metode pemetaan banyak-ke-satu dan satu-ke-satu didukung, serta tidak diperbolehkan menggunakan spasi.

      Jika Anda memilih Schema Synchronization saat menentukan tipe sinkronisasi, Anda dapat memilih untuk memasukkan nama topik yang ada atau membuat topik baru. Jika Anda tidak memilih Schema Synchronization saat menentukan tipe sinkronisasi, Anda hanya dapat memasukkan nama topik yang ada.

  4. Klik Verify.

    Untuk melihat hasil pencocokan, klik Preview Objects setelah verifikasi berhasil. Hasil pencocokan ditampilkan di tab Final Objects, New Objects, dan Removed Objects.

    Setelah mengonfigurasi aturan pencocokan untuk memilih objek sinkronisasi, Anda dapat menetapkan kondisi penyaringan.

    image

    1. Pilih Matching Results > Final Objects dan arahkan pointer ke objek tabel target.

    2. Klik Settings.

    3. Di kotak dialog Settings, Anda dapat melakukan operasi berikut:

      • Pada bagian Row Filters, tentukan klausa WHERE SQL standar untuk menyaring data berdasarkan baris. Lalu, klik Validate Syntax. Untuk informasi selengkapnya, lihat Gunakan kondisi SQL untuk menyaring data.

      • Pilih kolom sharding yang ingin digunakan dari daftar drop-down Sharding Columns. Anda dapat memilih beberapa bidang sebagai kolom sharding. Parameter ini bersifat opsional.

        Kecuali dinyatakan lain, pilih kunci utama sebagai kolom sharding. Jika kunci utama tidak seimbang beban, pilih bidang dengan pengenal unik yang seimbang beban sebagai kolom sharding untuk menghindari potensi masalah kinerja. Kolom sharding dapat digunakan untuk tujuan berikut:

        • Penyeimbangan Beban: Thread yang digunakan untuk mengirim pesan dapat dikenali berdasarkan kolom sharding jika tabel target mendukung penulisan konkuren.

        • Keteraturan: Layanan transmisi data memastikan bahwa pesan diterima dalam urutan jika nilai kolom sharding sama. Keteraturan menentukan urutan eksekusi pernyataan DML untuk sebuah kolom.

      • Di bagian Select Columns, pilih kolom yang akan disinkronkan. Untuk informasi lebih lanjut, lihat Penyaringan Kolom.

    4. Klik OK.

  5. Lengkapi pengaturan tugas selanjutnya sesuai petunjuk.

Modifikasi aturan pencocokan untuk migrasi/sinkronisasi data dari database ke instance Antrian Pesan

  1. Buka kotak dialog View Objects.

    1. Login ke

      ApsaraDB for OceanBase console.

    2. Di panel navigasi sebelah kiri, pilih Data Transmission > Data Synchronization.

    3. Pada halaman Data Synchronization, klik nama tugas target untuk membuka halaman detailnya.

      image.png

    4. Klik View Objects di pojok kanan atas. Objek sinkronisasi dan catatan modifikasi akan ditampilkan.

  2. Di kotak dialog View Objects, klik Modify Rules di pojok kanan bawah.

    image

  3. Dalam kotak dialog Modify Rules, ubah aturan pencocokan objek sinkronisasi untuk menambahkan atau menghapus objek.

    Saat mengonfigurasi aturan pencocokan, logika bisnis dapat bervariasi tergantung pada jenis tugas sinkronisasi data. Untuk informasi lebih lanjut, lihat bagian "Konfigurasikan Aturan Pencocokan untuk Migrasi/Sinkronisasi Data dari Database ke Instance Antrian Pesan" dalam topik ini.

  4. Klik Verify. Untuk melihat hasil pencocokan, klik Preview Objects setelah verifikasi berhasil.

    Arahkan pointer ke objek baru dan klik Configuration yang muncul untuk mengonfigurasi kondisi filter objek tersebut.

    image

  5. Klik Next.

    • Saat menambahkan objek, sistem akan melakukan pra-pemeriksaan pada objek-objek tersebut.

    • Saat menghapus objek, jumlah objek yang akan dihapus akan ditampilkan.

  6. Klik Submit setelah pra-pemeriksaan berhasil atau Anda mengonfirmasi jumlah objek yang akan dihapus.

    Setelah modifikasi objek dieksekusi, klik View Objects di pojok kanan atas halaman dan klik Modified records untuk melihat catatan dan detail modifikasi.

    image

Tanya Jawab Umum

  • Hak istimewa tidak mencukupi

    Perhatikan pengaturan hak istimewa pengguna database sumber. Jika Anda tidak memberikan semua hak istimewa yang diperlukan kepada pengguna migrasi, beberapa objek tidak akan ditampilkan di antarmuka depan oleh layanan transmisi data, dan Anda tidak dapat mengonfigurasi aturan pencocokan dengan benar. Dalam kasus ini, Anda harus menambahkan objek-objek tersebut ke Object Exclusion Rules untuk mencegah tugas migrasi atau sinkronisasi data terganggu karena layanan transmisi data tidak dapat menemukan objek target.

  • Penyaringan DML tidak didukung

    Jika sinkronisasi DDL dinonaktifkan, layanan transmisi data memungkinkan pemilihan objek berdasarkan aturan pencocokan. Namun, jika tabel baru yang dibuat selama sinkronisasi inkremental memenuhi aturan pencocokan, pernyataan DDL terkait akan diabaikan, tetapi pernyataan DML tetap disinkronkan. Hal ini dapat mengganggu tugas migrasi atau sinkronisasi data karena objek tidak dapat dimigrasikan atau disinkronkan ke target. Untuk menghindarinya, buat tabel di target atau tambahkan tabel ke daftar blokir.