Fitur Terbaik Di PostgreSQL 14

Fitur Terbaik Di PostgreSQL 14 – Menurut StackOverflow, PostgreSQL adalah database open source paling populer, dengan semakin banyak pengembang dan administrator yang ingin bekerja dengannya. PostgreSQL 14, versi terbaru yang dirilis pada September 2021, memiliki lebih dari 200 peningkatan dan fitur baru, yang secara umum terbagi dalam tiga area: Keamanan, Performa, dan Pemantauan.

Fitur Terbaik Di PostgreSQL 14

pgsql – Mulai dari versi 1.9.2, yang dirilis awal tahun ini, ClusterControl kini mendukung PostgreSQL 14 versi terbaru. Dalam posting ini, kita akan melihat fitur yang paling menonjol, pembaruan besar, dan peningkatan yang tersedia di PostgreSQL 14.

Keamanan

Perubahan keamanan paling signifikan PostgreSQL 14 adalah pindah ke SCRAM sebagai otentikasi default setelah otentikasi SCRAM SHA 256 pertama kali diperkenalkan di PostgreSQL 10. SCRAM menyediakan solusi yang jauh lebih sederhana dan kuat untuk mengatur kepatuhan terhadap keamanan data. Otentikasi MD5 default sebelumnya memiliki beberapa kelemahan yang dieksploitasi di masa lalu.

 Baca Juga : Siapa Saja Yang Menggunakan PostgreSQL?

Di samping autentikasi yang ditingkatkan, PostgreSQL 14 menyederhanakan proses penetapan kemampuan write only dan read only kepada pengguna pada tabel, tampilan, dan skema dengan memperkenalkan dua peran yang telah ditentukan sebelumnya, pg_write_all_data, dan pg_read_all_data. Peran sebelumnya membuatnya nyaman untuk membuat hak istimewa bergaya pengguna super. Meskipun nyaman untuk aktivitas dan akses, akun semacam ini harus digunakan dengan hemat. Peran terakhir membuatnya berguna dalam memberikan akses read only bagi pengguna ke semua tabel, skema, dan tampilan dalam database. Peran ini akan memiliki akses baca secara default ke tabel yang baru dibuat.

Performa

Perusahaan memproses semakin banyak data, dan kecepatan, volume, & variasi (tiga V Big Data) tidak menunjukkan tanda tanda melambat. PostgreSQL 14 telah membuat beberapa perubahan yang sangat signifikan untuk dapat ditingkatkan dan ditingkatkan untuk mendukung beban kerja ini dan meningkatkan kinerja. Ini dapat dikelompokkan ke dalam lima bidang berikut:

Skalabilitas

PostgreSQL 14 memberikan pencapaian besar dalam kinerja penghapusan dan pembaruan pada tabel dengan jumlah partisi yang tinggi. Ini memungkinkan penghapusan dan pembaruan pada tabel yang dipartisi untuk menggunakan pemangkasan partisi waktu eksekusi. Yang terpenting, versi ini dapat menskalakan ke lebih banyak partisi daripada sebelumnya, memungkinkan PostgreSQL untuk menangani database yang jauh lebih besar daripada sebelumnya.

Di PostgreSQL versi 14, partisi sekarang juga dapat dilepas secara bersamaan, sehingga memudahkan untuk mengelola tabel data deret waktu yang besar. Ini dimungkinkan karena fungsi date_bin() baru, yang memungkinkan pengguna untuk meringkas data deret waktu ke dalam rentang tanggal dengan lebih baik dan lebih mudah.

PostgreSQL 14 menambahkan dukungan untuk kompresi LZ4 untuk TOAST. LZ4 menggunakan teknologi kompresi terbaru dan berfokus pada peningkatan kecepatan dekompresi dan kompresi data dokumen. LZ4 akan menyempurnakan aplikasi dengan dokumen XML dan JSON yang lebih besar, dan algoritme kompresi ini dapat dikonfigurasi pada tingkat sistem dan kolom.

Database Dan Beban Kerja Terdistribusi

PostgreSQL 14 juga menawarkan peningkatan dalam penskalaan basis data secara horizontal dengan memperkenalkan dua peningkatan utama dalam postgres_fdw (pembungkus data asing) yang berperan penting dalam meningkatkan kinerja untuk basis data terdistribusi. Perubahan ini mendukung penyisipan data secara massal dan pemindaian tabel paralel pada tabel asing (bila async_capable diatur).

Caching koneksi juga meningkatkan kinerja dengan memungkinkan koneksi terbuka di seluruh transaksi. Kami juga dapat menyebutkan mode pipa Libpd, yang meningkatkan kinerja database terdistribusi dengan memungkinkan aliran perubahan ditransmisikan tanpa menunggu konfirmasi jaringan pada setiap perintah.

Kemampuan Kelola

PostgreSQL 14 juga membahas masalah pengasapan indeks B tree; indeks yang sering diperbarui mengasapi dari waktu ke waktu karena tupel mati yang dapat dihapus dengan menjalankan ruang hampa.

Karena itu, pemisahan halaman yang tidak dapat diubah dapat disebabkan oleh penyisipan atau pembaruan saat halaman terisi di antara penyedot debu. Versi ini telah meningkatkan proses vakum dengan mendeteksi dan menghapus tupel mati di antara vakum (parameter INDEX_CLEANUP disetel ke Otomatis).

Perbaikan lain pada sistem vakum adalah menghapus halaman yang dihapus dengan penuh semangat. Di versi sebelumnya, menghapus halaman yang dihapus membutuhkan dua siklus vakum, dengan terlebih dahulu menandai halaman sebagai dihapus dan siklus kedua benar benar mengosongkan ruang tersebut.

Penyesuaian Kinerja Kueri Dan Indeks

Manajemen indeks dalam penyetelan aplikasi adalah peningkatan besar lainnya dalam PostgreSQL 14. Khususnya, REINDEX CONCURRENTLY dan CREATE INDEX CONCURRENTLY, memungkinkan beberapa perintah dijalankan sekaligus tanpa mengganggu satu sama lain. Lebih lanjut tentang indeks, indeks BRIN menjadi lebih fleksibel karena dapat merekam banyak nilai min/maks per rentang, yang berharga untuk grup nilai di setiap rentang halaman. Selain itu, indeks BRIN bekerja secara efektif dengan data yang tidak terlokalisasi dengan baik di heap dengan menggunakan filter mekar.

Opsi FREEZE dalam perintah COPY telah ditingkatkan dengan memperbarui bit visibilitas halaman pada kinerja pemuatan data. COPY mode biner juga sekarang lebih cepat. PostgreSQL 14 telah menyempurnakan paralelisme kueri dengan menambahkan paralelisme kueri ke REFRESH MATERIALIZED VIEW dan RETURN QUERY. Penyempurnaan ini telah diluncurkan ke gabungan loop bersarang dan pemindaian sekuensial paralel.

PostgreSQL 14 telah meningkatkan jumlah tempat statistik yang diperluas dapat digunakan untuk ekspresi dan estimasi klausa OR. Tidak seperti sebelumnya, di mana statistik hanya pada kolom, sekarang diizinkan pada sekelompok ekspresi. Tampilan sistem pg_stats_ext_exprs melaporkan statistik tersebut.

Replikasi Logis Yang Ditingkatkan

Replikasi logis telah ditingkatkan untuk memungkinkan streaming transaksi yang sedang berlangsung lama melalui API atau ke pelanggan. Pada versi sebelumnya, transaksi yang lebih besar dari logical_decoding_work_mem ditulis ke disk sampai transaksi selesai sebelum mereplikasi transaksi ke pelanggan. Dengan penyempurnaan baru, replikasi logis menangani pernyataan DDL dalam jumlah besar dengan lebih efisien. Setelah setiap perintah, replikasi logis menulis pesan pembatalan cache ke WAL untuk diproses dengan mengalirkan transaksi yang sedang berlangsung. Proses ini menciptakan manfaat kinerja yang signifikan.

Pemantauan

Salah satu kata kunci terbesar tahun 2022 adalah pemantauan, karena administrator dan pengembang menginginkan lebih banyak wawasan tentang kinerja dari waktu ke waktu. PostgreSQL 14 telah memperkenalkan fitur baru untuk membantu pemantauan. Perubahan paling signifikan dari semuanya adalah pemindahan sistem hash kueri dari pg_stat_statement ke database inti. Pemantauan kueri telah diizinkan di beberapa sistem PostgreSQL dan fungsi logging dengan menggunakan satu ID.

Versi ini juga telah memperkenalkan parameter pemantauan baru berikut:

  • Pg_stat_wal
  • Pg_stat_progress_copy
  • Maintenance_io_concurrency
  • REINDEX pada indeks anak dari tabel yang dipartisi
  • Idle_session_timeout

Upgrade Ke PostgreSQL 14

Jika Anda ingin memutakhirkan versi PostgreSQL Anda saat ini ke versi 14, Anda memiliki tiga opsi utama yang akan melakukan tugas ini:

  1. Pg_dumpall: Ini adalah alat pencadangan logis yang memungkinkan Anda membuang data dan memulihkannya dalam versi PostgreSQL yang baru. Di sini Anda akan memiliki periode waktu henti yang akan bervariasi sesuai dengan ukuran data Anda. Anda perlu menghentikan sistem atau menghindari data baru di node utama, menjalankan pg_dumpall, memindahkan dump yang dihasilkan ke node database baru, dan memulihkannya. Selama waktu ini, Anda tidak dapat menulis ke database PostgreSQL utama Anda untuk menghindari inkonsistensi data.
  2. Pg_upgrade: Ini adalah alat PostgreSQL untuk meningkatkan versi PostgreSQL Anda. Ini bisa berbahaya di lingkungan produksi, dan kami tidak merekomendasikan metode ini dalam kasus itu. Dengan menggunakan metode ini, Anda akan memiliki waktu henti, tetapi mungkin akan jauh lebih sedikit daripada menggunakan metode pg_dump sebelumnya.
  3. Replikasi Logis: Sejak PostgreSQL 10, Anda dapat menggunakan metode replikasi ini yang memungkinkan Anda untuk melakukan peningkatan versi utama dengan waktu henti nol (atau hampir nol). Dengan cara ini, Anda dapat menambahkan node siaga di versi PostgreSQL terakhir, dan ketika replikasi terbaru, Anda dapat melakukan proses failover untuk mempromosikan node PostgreSQL baru.

Kesimpulan

PostgreSQL 14 benar benar meningkatkan permainan bagi pengguna database open source yang populer ini. Sekarang pengembang dan administrator telah meningkatkan kemampuan untuk meningkatkan kinerja dan skalabilitas tinggi, peningkatan untuk database terdistribusi, peningkatan observabilitas, dan banyak lagi.