14 poin oleh GN⁺ 2023-09-15 | 1 komentar | Bagikan ke WhatsApp
  • PostgreSQL 16 meningkatkan performa dengan peningkatan mencolok pada paralelisme kueri, pemuatan data dalam jumlah besar, dan replikasi logis
  • Memperkenalkan lebih banyak sintaks SQL/JSON, statistik pemantauan baru untuk beban kerja, serta fleksibilitas yang lebih besar dalam mendefinisikan aturan kontrol akses

Peningkatan performa

  • Query planner kini dapat memparalelkan join FULL dan RIGHT, menghasilkan rencana yang lebih optimal untuk kueri yang menggunakan klausa DISTINCT atau ORDER BY, memanfaatkan incremental sort untuk kueri SELECT DISTINCT, dan mengoptimalkan window function
  • Bulk loading dengan COPY ditingkatkan untuk pekerjaan tunggal maupun serentak, dengan peningkatan performa hingga 300% dalam beberapa kasus
  • Memperkenalkan akselerasi CPU menggunakan SIMD pada arsitektur x86 dan ARM untuk meningkatkan performa saat memproses string ASCII dan JSON, array, serta pencarian subtransaction

Replikasi logis

  • Kini replikasi logis dapat dijalankan dari instance standby, sehingga membuka opsi baru untuk distribusi pekerjaan
    • Mereplikasi perubahan ke downstream dengan memanfaatkan standby alih-alih primary yang sibuk
  • Performa replikasi logis juga ditingkatkan
    • Subscriber dapat menerapkan transaksi besar menggunakan parallel worker
    • Untuk tabel tanpa primary key, baris kini dapat ditemukan menggunakan indeks B-tree alih-alih sequential scan
    • Dalam kondisi tertentu, sinkronisasi tabel awal dapat dipercepat dengan menggunakan format biner

Pengalaman pengembang

  • Menambahkan lebih banyak sintaks dari standar SQL/JSON, termasuk constructor dan predicate seperti JSON_ARRAY(), JSON_ARRAYAGG(), dan IS JSON
  • Angka ribuan kini dapat menggunakan underscore (5_432_000)
  • psql menambahkan \bind, sehingga kueri dengan parameter dapat ditulis dan diganti dengan variabel
  • Dukungan untuk penyortiran teks ditingkatkan

Pemantauan

  • Menambahkan pg_stat_io, yang menyediakan metrik untuk menganalisis pola akses I/O secara mendetail
  • Menambahkan field timestamp pada view pg_stat_all_tables untuk mencatat waktu terakhir tabel atau indeks dipindai
  • Membuat auto_explain lebih mudah dibaca dengan mencatat nilai yang diteruskan ke statement berparameter

Kontrol akses dan keamanan

  • Menyediakan opsi yang lebih rinci untuk kontrol akses
  • Juga meningkatkan fitur keamanan lain, termasuk pengelolaan file pg_hba.conf dan pg_ident.conf, serta penambahan beberapa parameter koneksi klien yang berorientasi pada keamanan

1 komentar

 
GN⁺ 2023-09-15
Opini Hacker News
  • Rilis PostgreSQL 16 dibandingkan dengan pencapaian penting seperti pendaratan di bulan karena besarnya jumlah kerja sukarela dan pemikiran yang dibutuhkan untuk mempertahankan proyek open source besar selama puluhan tahun.
  • Penulis komentar memuji tim PostgreSQL dan menekankan pentingnya infrastruktur perangkat lunak dengan membandingkannya dengan infrastruktur fisik seperti jembatan dan jalan.
  • PostgreSQL 16 memperkenalkan fitur baru, \bind, yang menjadi populer karena memungkinkan menjalankan kueri berparameter seperti yang dilakukan aplikasi.
  • Penambahan konstruktor dan fungsi identitas SQL/JSON dianggap sebagai peningkatan kualitas hidup di PostgreSQL 16.
  • Ada antusiasme terhadap fitur direct I/O yang saat ini berada di balik pengaturan debug_io_direct.
  • Ada pertanyaan tentang peningkatan pada fitur "vacuum" yang digunakan untuk mengoptimalkan performa database.
  • Ada pertanyaan apakah enkripsi transparan secara default sedang dipertimbangkan untuk rilis mendatang.
  • Pengguna mengungkapkan antusiasme terhadap rilis baru ini, tetapi menyebutkan bahwa mereka memasang PostgreSQL 15 di Debian terbaru dan mungkin perlu meneliti fitur-fitur baru yang bisa berguna bagi mereka.