PostgreSQL 17 menghadirkan peningkatan kinerja yang besar, pencadangan tambahan baru, dan banyak lagi

PostgreSQL 17

Seperti yang terjadi setiap tahun antara bulan September dan Oktober, rilis versi baru PostgreSQL 17 telah diumumkan , dan seperti semua versi sebelumnya, prioritas tetap pada peningkatan kinerja dan pengoptimalan sumber daya, terutama untuk operasi seperti VACUUM, I/O, dan kueri, sementara fitur baru terpenting dari rilis ini adalah pencadangan inkremental.

Bagi pengguna bisnis, pembaruan ini menghadirkan sejumlah perbaikan yang menyederhanakan pengelolaan dan penggunaan basis data. Meskipun PostgreSQL secara historis merupakan database relasional, versi ini memperluas integrasinya dengan fungsionalitas tingkat lanjut untuk bekerja dengan dokumen JSON, sebuah fitur yang umumnya dikaitkan dengan MongoDB Atlas.

Apa yang baru di PostgreSQL 17

Pada versi terbaru PostgreSQL 17 ini, struktur data baru telah diperkenalkan dalam operasi VACUUM, yang mengurangi konsumsi memori hingga 20 kali lipat, sehingga operasi ini menjadi lebih cepat dan efisien dalam hal penggunaan sumber daya bersama.

Terkait peningkatan kinerja, manajemen register tulis-pergi (WAL) telah dioptimalkan, mencapai kinerja tulis hingga dua kali lipat pada sistem dengan banyak kueri bersamaan. Antarmuka I/O streaming telah diusulkan untuk meningkatkan pencarian sekuensial dan pembaruan statistik setelah operasi ANALYZE.

Selain itu, perbaikan telah diterapkan pada kueri dengan klausa "IN" saat menggunakan indeks B-tree, serta konstruksi paralel indeks BRIN, optimasi pemeriksaan "NOT NULL", dan percepatan pemrosesan ekspresi tabel umum (CTE). Untuk perhitungan intensif, instruksi SIMD, seperti AVX-512, telah diintegrasikan untuk mempercepat operasi seperti fungsi `bit_count`.

Hal baru lainnya yang menonjol adalah fitur baru untuk JSON, sejak Pengguna sekarang dapat menanyakan tipe data JSON menggunakan perintah SQL standar. Hal ini dimungkinkan berkat fungsionalitas tabel baru json, yang mengubah data JSON menjadi struktur tabel. Dari sana, pengguna dapat membuat kueri menggunakan klausa tersebut FROM dalam SQL, memungkinkan data dikembalikan dalam format relasional. Menambahkan fungsi `JSON_TABLE` untuk mengonversi data JSON ke tabel PostgreSQL standar.

Hal lain yang patut diperhatikan adalah fungsionalitas pencadangan inkremental baru di PostgreSQL 17, yang memungkinkan Anda untuk mencadangkan hanya perubahan yang dilakukan sejak pencadangan penuh atau inkremental terakhir , sehingga mengoptimalkan penggunaan bandwidth dan mengurangi kebutuhan penyimpanan. Meskipun PostgreSQL telah menawarkan solusi seperti Pengarsipan WAL, yang mereplikasi Write-Ahead Log (WAL) untuk mempertahankan bagian-bagian basis data yang diperlukan, versi 17 memperkenalkan, untuk pertama kalinya, mekanisme asli untuk melakukan pencadangan inkremental. Sistem ini tidak hanya meminimalkan gangguan operasional dengan mengurangi dampak pada kinerja, tetapi juga secara signifikan mengurangi waktu pemulihan—aspek kunci, karena memulihkan cadangan seringkali merupakan proses yang lambat dan membuat frustrasi bagi pengguna.

Mesin yang independen terhadap platform diimplementasikan untuk memproses properti lokal, memungkinkan pengurutan hasil kueri yang konsisten. Mesin ini mempertimbangkan faktor-faktor seperti keberadaan karakter khusus dan sensitivitas huruf besar/kecil saat mengurutkan nilai. Mekanisme replikasi logis kini menyederhanakan proses peningkatan basis data, menghilangkan kebutuhan untuk menghapus slot replikasi logis atau menyinkronkan ulang data saat bermigrasi ke versi baru.

Perubahan penting lainnya meliputi :

  • Mengekspor string panjang dengan perintah `COPY` telah dipercepat hingga dua kali lipat.
  • Penyalinan yang dioptimalkan ketika pengkodean sumber dan tujuan cocok.
  • Opsi `ON_ERROR` telah ditambahkan agar impor dapat dilanjutkan meskipun terjadi kesalahan saat memasukkan data.
  • Menambahkan kemampuan untuk menggunakan kolom dengan pengidentifikasi unik dalam tabel yang dipartisi.
  • Menerapkan fitur failover untuk beralih ke server cadangan dalam konfigurasi yang toleran terhadap kesalahan.
  • Menambahkan utilitas pg_createsubscriber baru untuk mengonversi replika fisik menjadi replika logis.
  • Memperkenalkan opsi “negosiasi ssl” untuk menegosiasikan koneksi TLS yang aman secara langsung menggunakan ekstensi ALPN TLS.
  • Menambahkan peran pg_maintain yang telah ditentukan sebelumnya, yang memberi pengguna hak untuk melakukan operasi terkait pemeliharaan DBMS

Terakhir, jika Anda tertarik untuk mempelajari lebih lanjut, Anda dapat menemukan detailnya di tautan berikut.


Tambahkan sebagai sumber pilihan di Google