Konsol OpenSearch menyediakan empat metode untuk mendefinisikan skema aplikasi. Edisi Algoritma Industri OpenSearch mendukung beberapa tabel, mempermudah pemanggilan dalam skenario bisnis yang kompleks.
Aturan menghubungkan tabel utama dan tabel sekunder
Perhatikan aturan berikut saat membuat beberapa tabel secara manual untuk mengonfigurasi skema aplikasi:
Rasio jumlah rekaman tabel utama terhadap rekaman tabel sekunder harus N:1 atau 1:1. Rasio 1:N tidak didukung. Artinya, satu rekaman tabel utama tidak dapat dihubungkan dengan beberapa rekaman tabel sekunder.
Tabel sekunder dapat dihubungkan dengan tabel utama dengan menghubungkan kunci primer tabel sekunder ke kunci asing tabel utama. Kunci asing tabel utama hanya dapat dihubungkan dengan kunci primer tabel sekunder.
Maksimal tiga tingkat asosiasi didukung. Maksimal 10 tabel sekunder dapat dibuat untuk satu aplikasi.
Hanya satu tabel utama yang dapat dikonfigurasi.
Tabel Utama dan Tabel Sekunder | Logika Asosiasi | Didukung |
Tabel A (tabel utama), Tabel B | Tabel A (tabel utama) -> Tabel B | Ya |
Tabel A (tabel utama), Tabel B, Tabel C | Tabel A (tabel utama) -> Tabel B -> Tabel C | Ya |
Tabel A (tabel utama), Tabel B, Tabel C, Tabel D | Tabel A (tabel utama) -> Tabel B, Tabel A (tabel utama) -> Tabel C, Tabel A (tabel utama) -> Tabel D. Tidak lebih dari dua tingkat asosiasi dikonfigurasi. Tidak lebih dari 10 tabel sekunder dibuat. | Ya |
Tabel A (tabel utama), Tabel B, Tabel C, Tabel D | Tabel A (tabel utama) -> Tabel B -> Tabel C -> Tabel D. Lebih dari dua tingkat asosiasi dikonfigurasi. | Tidak, kecuali untuk aplikasi eksklusif, yang mendukung tiga tingkat asosiasi. |
Tabel A (tabel utama), Tabel B | Tabel A (tabel utama) -> Tabel B, Tabel B -> Tabel A. Tabel dihubungkan dalam bentuk asosiasi siklikal. | Tidak |
Tabel A (tabel utama), Tabel B, Tabel C, ..., Tabel K | Tabel A (tabel utama) -> Tabel B, Tabel A (tabel utama) -> Tabel C, Tabel A (tabel utama) -> Tabel D. Tidak lebih dari dua tingkat asosiasi dikonfigurasi. Lebih dari 10 tabel sekunder dibuat. | Tidak, kecuali untuk aplikasi eksklusif, yang mendukung lebih dari 10 tabel sekunder. |
Model data

Contoh asosiasi antara tabel utama dan tabel sekunder



Catatan penggunaan
Bidang hanya dapat dipetakan antar tabel jika memiliki tipe yang sama. Sebagai contoh, jika kunci primer tabel sekunder bertipe INT, maka hanya dapat memetakan bidang bertipe INT di tabel utama.
Tabel offline digabungkan berdasarkan logika berikut: Selama proses pengindeksan, operasi LEFT JOIN dilakukan pada tabel utama dan tabel sekunder untuk menghasilkan tabel lebar. Indeks dibangun berdasarkan tabel lebar untuk layanan pencarian. Anggaplah rasio jumlah rekaman tabel utama terhadap rekaman tabel sekunder adalah N:1 dan nilai N besar. Saat rekaman data di tabel sekunder diperbarui, jumlah rekaman data yang perlu diperbarui di tabel utama adalah N kali lipat dari jumlah di tabel sekunder. Hal ini dapat menyebabkan penundaan pembaruan baik untuk tabel utama maupun tabel sekunder. Dalam hal ini, disarankan agar nilai N tidak lebih besar dari 10.
Setelah operasi JOIN, jumlah baris di tabel lebar yang dihasilkan sama dengan jumlah baris di tabel utama. Bidang yang kosong di tabel sekunder akan otomatis diisi dengan nilai default di tabel lebar. Nilai default untuk bidang bertipe INT adalah 0. Nilai default untuk bidang bertipe STRING adalah null.
Praktik Terbaik: Latensi Sinkronisasi Data yang Disebabkan oleh Penggabungan Multi-Tabel