Gunakan tabel logis untuk melakukan kueri, menulis, dan mengagregasi data yang tersebar di berbagai database dan tabel fisik yang telah di-shard—tanpa perlu merutekan ke setiap shard secara manual.
Cara kerja
Saat sebuah database dipartisi secara horizontal, struktur tabel yang sama dibagi menjadi beberapa tabel fisik. Sebagai contoh, tabel pesanan yang dipartisi menjadi 10 shard menghasilkan t_order_0 hingga t_order_9 di database fisik yang mendasarinya.
Data Management (DMS) memperkenalkan abstraksi dua tingkat untuk menangani hal ini:
| Tingkat | Nama | Deskripsi |
|---|---|---|
| Tingkat database | Logical database | Tampilan terpadu dari semua database fisik yang di-shard |
| Tingkat tabel | Logical table | Tampilan terpadu dari semua tabel fisik dengan struktur yang sama, misalnya t_order |
Kueri dijalankan terhadap tabel logis. DMS secara otomatis merutekannya ke tabel fisik yang sesuai.
Dukungan SQL
Tabel berikut merangkum dukungan pernyataan SQL berdasarkan apakah algoritma perutean telah dikonfigurasi.
| Pernyataan SQL | Tanpa algoritma perutean | Dengan algoritma perutean |
|---|---|---|
SELECT | Didukung | Didukung |
UPDATE | Didukung | Didukung |
DELETE | Didukung | Didukung |
INSERT | Tidak didukung | Didukung |
Dengan algoritma perutean yang dikonfigurasi, fitur SQL berikut berfungsi di seluruh shard fisik:
Agregasi:
COUNT()dan fungsi agregat lainnyaPengelompokan:
GROUP BYSintaks SQL lainnya mengikuti konvensi database sumber
Batasan: Subkueri tidak didukung.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Logical database dengan database dan tabel fisik yang sudah dikonfigurasi di DMS
Akses ke Konsol DMS dengan izin yang cukup untuk menjalankan pernyataan SQL
Lakukan kueri pada tabel logis
Langkah 1: Pilih logical database dan jalankan kueri
Di Konsol DMS, pilih logical database.
Jalankan pernyataan
SELECT,UPDATE, atauDELETEsesuai kebutuhan. Pada tahap ini,INSERTtidak didukung karena algoritma perutean belum dikonfigurasi.
Langkah 2: Konfigurasikan algoritma perutean
Algoritma perutean menentukan shard fisik mana yang menerima operasi tulis berdasarkan nilai bidang tertentu.
Konfigurasikan algoritma perutean modulo sebagai langkah awal. Untuk logika perutean yang lebih kompleks, lihat Konfigurasikan algoritma perutean.
Langkah 3: Masukkan data ke dalam tabel logis
Setelah algoritma perutean dikonfigurasi, jalankan pernyataan INSERT untuk menulis data ke dalam tabel logis. DMS secara otomatis merutekan baris tersebut ke shard fisik yang tepat.
Langkah 4: Lakukan kueri data menggunakan bidang berbasis perutean
Dengan adanya algoritma perutean, kueri pada bidang berbasis perutean langsung diarahkan ke tabel fisik target—tanpa perlu beralih shard secara manual.
Hasil kueri mencakup nama database dan tabel fisik di kolom terakhir. Klik nilai pada kolom tersebut untuk membuka tabel fisik dan menjalankan kueri yang sama secara langsung terhadapnya.
Untuk melakukan kueri di seluruh shard tanpa menggunakan bidang berbasis perutean—misalnya, untuk menghitung semua catatan—jalankan kueri tanpa kondisi shard-key:
SELECT COUNT(*) FROM logical_table_name;GROUP BY dan klausa SQL standar lainnya bekerja sama seperti di database sumber. Subkueri tidak didukung.
Langkah berikutnya
Konfigurasikan algoritma perutean — siapkan logika perutean modulo atau kompleks untuk tabel yang di-shard Anda