Bagikan melalui


Jenis tabel pada Kluster Elastis di Azure Database for PostgreSQL - Server Fleksibel

BERLAKU UNTUK: Azure Database for PostgreSQL - Server Fleksibel

Ada lima jenis tabel dalam kluster, masing-masing disimpan secara berbeda pada simpul dan digunakan untuk tujuan yang berbeda.

Tabel terdistribusi

Jenis pertama, dan yang paling umum, adalah tabel terdistribusi. Tabel ini terlihat seperti tabel biasa untuk pernyataan SQL, tetapi dipartisi secara horizontal di seluruh simpul pekerja. Artinya, baris tabel disimpan pada simpul yang berbeda, dalam tabel fragmen yang disebut shard.

Kluster Elastis tidak hanya menjalankan pernyataan SQL tetapi DDL (Bahasa Definisi Data) di seluruh kluster. Mengubah skema kaskade tabel terdistribusi untuk memperbarui semua pecahan tabel di seluruh pekerja. Operasi tersebut perlu dilakukan melalui koneksi melalui port 5432.

Kolom terdistribusi

Kluster Elastis menggunakan sharding algoritma untuk menetapkan baris ke pecahan. Tugas dibuat secara deterministik berdasarkan nilai kolom tabel yang disebut kolom distribusi. Administrator kluster harus menetapkan kolom ini saat mendistribusikan tabel. Membuat pilihan yang tepat sangat penting untuk performa dan fungsionalitas.

Tabel referensi

Tabel referensi adalah jenis tabel terdistribusi yang seluruh isinya terkonsentrasi ke dalam satu pecahan. Pecahan direplikasi pada setiap pekerja. Kueri pada pekerja mana pun dapat mengakses informasi referensi secara lokal, tanpa overhead jaringan dari baris yang meminta dari simpul lain. Tabel referensi tidak memiliki kolom distribusi karena tidak perlu membedakan pecahan terpisah per baris.

Tabel referensi biasanya kecil dan digunakan untuk menyimpan data yang relevan dengan kueri yang berjalan pada simpul pekerja mana pun. Contohnya adalah nilai yang disebutkan seperti status pesanan atau kategori produk.

Tabel lokal

Saat Anda menggunakan Kluster Elastis, setiap simpul adalah database PostgreSQL biasa. Anda dapat membuat tabel biasa dan memilih untuk tidak memecahnya.

Kandidat yang tepat untuk tabel lokal adalah tabel administratif kecil yang tidak disertakan dalam kueri gabungan. Contohnya adalah users tabel untuk masuk dan autentikasi aplikasi. Jenis tabel ini hanya berguna ketika Anda tidak berencana untuk menyeimbangkan beban koneksi Anda di antara Kluster Elastis menggunakan port 7432.

Tabel terkelola lokal

Kluster Elastis mungkin secara otomatis menambahkan tabel lokal ke metadata jika ada referensi kunci asing antara tabel lokal dan tabel referensi. Selain itu, tabel yang dikelola secara lokal dapat dibuat secara manual dengan menjalankan fungsi citus_add_local_table_to_metadata pada tabel lokal reguler. Tabel yang ada dalam metadata dianggap sebagai tabel terkelola dan dapat dikueri dari simpul apa pun. Citus tahu untuk merutekan ke simpul untuk mendapatkan data dari tabel terkelola lokal. Tabel tersebut ditampilkan sebagai lokal dalam citus_tables tampilan.

Tabel skema

Dengan sharding berbasis skema, skema terdistribusi secara otomatis dikaitkan dengan grup kolokasi individu. Tabel yang dibuat dalam skema tersebut secara otomatis dikonversi ke tabel terdistribusi yang dikolokasi tanpa kunci shard. Tabel tersebut dianggap sebagai tabel skema dan ditampilkan sebagai skema dalam citus_tables tampilan.