Tutorial Partisi PostgreSQL

Tutorial Partisi Postgresql



Untuk database apa pun, kinerja adalah salah satu metrik yang harus diperhatikan agar keandalannya efektif, terutama bila melibatkan data berukuran besar. Dengan PostgreSQL, Anda harus membuat partisi tabel untuk menghemat waktu dan sumber daya yang diperlukan untuk memindai tabel saat mencari catatan. Dengan membagi tabel besar menjadi bagian-bagian yang lebih kecil, lebih sedikit pertukaran memori yang diperlukan dan aplikasi Anda akan bekerja lebih baik karena menghemat operasi database.

Posting ini membahas partisi PostgreSQL. Kami akan membahas berbagai opsi partisi yang dapat Anda gunakan dan memberikan contoh cara menggunakannya untuk pemahaman yang lebih baik.

Cara Membuat Partisi PostgreSQL

Basis data apa pun dapat berisi banyak tabel dengan banyak entri. Untuk memudahkan manajemen, Anda harus mempartisi tabel yang merupakan rutinitas gudang data yang bagus dan direkomendasikan untuk optimasi database dan untuk membantu keandalan. Anda dapat membuat partisi berbeda termasuk daftar, rentang, dan hash. Mari kita bahas masing-masing secara mendetail.







1. Daftar Partisi

Sebelum mempertimbangkan partisi apa pun, kita harus membuat tabel yang akan kita gunakan untuk partisi tersebut. Saat membuat tabel, ikuti sintaks yang diberikan untuk semua partisi:



BUAT TABEL nama_tabel(tipe_data kolom1, tipe_data kolom2) PARTISI OLEH (kunci_partisi);

“Nama_tabel” adalah nama tabel Anda di samping kolom-kolom berbeda yang akan dimiliki tabel dan tipe datanya. Untuk “partition_key”, ini adalah kolom dimana partisi akan dilakukan. Misalnya, gambar berikut menunjukkan bahwa kita membuat tabel “kursus” dengan tiga kolom. Selain itu, tipe partisi kami adalah LIST, dan kami memilih kolom fakultas sebagai kunci partisi kami:







Setelah tabel dibuat, kita harus membuat partisi berbeda yang kita perlukan. Untuk itu, lanjutkan dengan sintaks berikut:

BUAT TABEL partisi_tabel PARTISI DARI tabel_main UNTUK NILAI DALAM (NILAI);

Misalnya, contoh pertama pada gambar berikut menunjukkan bahwa kita membuat tabel partisi bernama 'Fset' yang menampung semua nilai di kolom 'fakultas' yang kita pilih sebagai kunci partisi yang nilainya 'FSET'. Kami menggunakan logika serupa untuk dua partisi lain yang kami buat.



Setelah Anda memiliki partisi, Anda dapat memasukkan nilainya ke dalam tabel utama yang kami buat. Setiap nilai yang Anda masukkan dicocokkan dengan partisi masing-masing berdasarkan nilai pada kunci partisi yang Anda pilih.

Jika kita membuat daftar semua entri di tabel utama, kita dapat melihat bahwa tabel tersebut berisi semua entri yang kita sisipkan.

Untuk memverifikasi bahwa kita berhasil membuat partisi, mari kita periksa catatan di setiap partisi yang dibuat.

Perhatikan bagaimana setiap tabel yang dipartisi hanya menampung entri yang cocok dengan kriteria yang ditentukan saat mempartisi. Begitulah cara kerja partisi berdasarkan daftar.

2. Partisi Rentang

Kriteria lain untuk membuat partisi adalah menggunakan opsi RANGE. Untuk ini, kita harus menentukan nilai awal dan akhir yang akan digunakan untuk rentang tersebut. Menggunakan metode ini sangat ideal ketika bekerja dengan tanggal.

Sintaksnya untuk membuat tabel utama adalah sebagai berikut:

BUAT TABEL nama_tabel(tipe_data kolom1, tipe_data kolom2) PARTISI BERDASARKAN RANGE (kunci_partisi);

Kami membuat tabel “cust_orders” dan menentukannya untuk menggunakan tanggal sebagai “partition_key” kami.

Untuk membuat partisi, gunakan sintaks berikut:

BUAT TABEL partisi_tabel PARTISI DARI tabel_main UNTUK NILAI DARI (nilai_awal) KE (nilai_akhir);

Kami mendefinisikan partisi kami untuk bekerja setiap triwulan menggunakan kolom “tanggal”.

Setelah membuat semua partisi dan memasukkan data, inilah tampilan tabel kita:

Jika kami memeriksa entri di partisi yang dibuat, kami memverifikasi bahwa partisi kami berfungsi dan kami hanya memiliki catatan yang sesuai sesuai kriteria partisi yang kami tentukan. Untuk semua entri baru yang Anda tambahkan ke tabel, entri tersebut akan ditambahkan ke partisi masing-masing secara otomatis.

3. Partisi Hash

Kriteria partisi terakhir yang akan kita bahas adalah menggunakan hash. Mari segera buat tabel utama menggunakan sintaks berikut:

BUAT TABEL nama_tabel(tipe_data kolom1, tipe_data kolom2) PARTISI OLEH HASH (kunci_partisi);

Saat mempartisi dengan hash, Anda harus menyediakan modulus dan sisanya, baris yang akan dibagi dengan nilai hash dari “partition_key” yang Anda tentukan. Untuk kasus kami, kami menggunakan modulus 4.

Sintaks kami adalah sebagai berikut:

BUAT TABEL partisi_tabel PARTISI main_tabel UNTUK NILAI DENGAN (MODULUS nomor 1, SISA nomor 2);

Partisi kami adalah sebagai berikut:

Untuk “main_table”, ini berisi entri yang ditunjukkan sebagai berikut:

Untuk partisi yang dibuat, kita dapat mengakses entrinya dengan cepat dan memverifikasi bahwa partisi kita berfungsi.

Kesimpulan

Partisi PostgreSQL adalah cara praktis untuk mengoptimalkan database untuk menghemat waktu dan meningkatkan keandalan. Kami membahas partisi secara rinci termasuk berbagai opsi yang tersedia. Selain itu, kami memberikan contoh bagaimana menerapkan partisi. Cobalah!