14 điểm bởi GN⁺ 2023-09-15 | 1 bình luận | Chia sẻ qua WhatsApp
  • PostgreSQL 16 cải thiện đáng kể về tính song song của truy vấn, nạp dữ liệu khối lượng lớn và sao chép logic để nâng cao hiệu năng
  • Bổ sung thêm nhiều cú pháp SQL/JSON, thống kê giám sát mới cho khối lượng công việc và mang lại tính linh hoạt cao hơn khi định nghĩa các quy tắc kiểm soát truy cập

Cải thiện hiệu năng

  • Bộ lập kế hoạch truy vấn giờ đây có thể song song hóa các phép nối FULL và RIGHT, tạo kế hoạch tối ưu hơn cho các truy vấn dùng mệnh đề DISTINCT hoặc ORDER BY, tận dụng incremental sort cho truy vấn SELECT DISTINCT và tối ưu hóa window function
  • Việc nạp dữ liệu hàng loạt bằng COPY được cải thiện cả trong tác vụ đơn lẻ lẫn đồng thời, trong một số trường hợp hiệu năng tăng tới 300%
  • Bổ sung tăng tốc CPU dùng SIMD trên kiến trúc x86 và ARM, giúp cải thiện hiệu năng khi xử lý chuỗi ASCII và JSON, mảng và tra cứu subtransaction

Sao chép logic

  • Giờ đây có thể thực hiện sao chép logic từ instance standby, mở ra các lựa chọn phân phối công việc mới
    • Có thể dùng standby thay vì primary đang bận để sao chép các thay đổi xuống downstream
  • Hiệu năng sao chép logic cũng được cải thiện
    • Subscriber có thể dùng các worker song song để áp dụng các giao dịch lớn
    • Với các bảng không có khóa chính, có thể dùng chỉ mục B-tree để tìm hàng thay vì quét tuần tự
    • Trong một số điều kiện nhất định, có thể tăng tốc đồng bộ bảng ban đầu bằng cách dùng định dạng nhị phân

Trải nghiệm nhà phát triển

  • Bổ sung thêm nhiều cú pháp từ tiêu chuẩn SQL/JSON, bao gồm các constructor và predicate như JSON_ARRAY(), JSON_ARRAYAGG(), IS JSON
  • Có thể dùng dấu gạch dưới trong số theo nhóm hàng nghìn (5_432_000)
  • psql được bổ sung \bind, cho phép viết truy vấn có tham số và thay thế bằng biến
  • Cải thiện hỗ trợ cho sắp xếp văn bản

Giám sát

  • Thêm pg_stat_io, cung cấp các metric cho phép phân tích chi tiết mẫu truy cập I/O
  • Thêm các trường timestamp vào view pg_stat_all_tables để ghi lại thời điểm bảng hoặc chỉ mục được quét lần cuối
  • Ghi log các giá trị được truyền vào câu lệnh có tham số để auto_explain dễ đọc hơn

Kiểm soát truy cập và bảo mật

  • Cung cấp các tùy chọn chi tiết hơn cho kiểm soát truy cập
  • Cải thiện các tính năng bảo mật khác, bao gồm quản lý các tệp pg_hba.confpg_ident.conf, cùng việc bổ sung nhiều tham số kết nối client hướng đến bảo mật

1 bình luận

 
GN⁺ 2023-09-15
Ý kiến trên Hacker News
  • Việc phát hành PostgreSQL 16 được ví như một thành tựu quan trọng ngang tầm hạ cánh lên Mặt Trăng, vì khối lượng lao động không công và suy nghĩ cần thiết để duy trì một dự án mã nguồn mở quy mô lớn suốt hàng chục năm.
  • Người bình luận khen ngợi đội ngũ PostgreSQL và nhấn mạnh tầm quan trọng của hạ tầng phần mềm bằng cách so sánh nó với hạ tầng vật lý như cầu và đường sá.
  • PostgreSQL 16 giới thiệu tính năng mới \bind, đang được ưa chuộng vì cho phép chạy các truy vấn có tham số giống hệt như ứng dụng vẫn làm.
  • Việc bổ sung các hàm tạo và hàm nhận diện SQL/JSON được xem là những cải thiện về chất lượng trải nghiệm trong PostgreSQL 16.
  • Có sự kỳ vọng đối với tính năng direct I/O hiện đang nằm sau thiết lập debug_io_direct.
  • Có câu hỏi về những cải tiến dành cho tính năng "vacuum", vốn được dùng để tối ưu hiệu năng cơ sở dữ liệu.
  • Có câu hỏi liệu các bản phát hành trong tương lai có đang cân nhắc mã hóa trong suốt theo mặc định hay không.
  • Người dùng bày tỏ sự hào hứng với bản phát hành mới, nhưng cho biết đã cài PostgreSQL 15 trên Debian mới nhất và có thể sẽ phải tìm hiểu các tính năng mới nào hữu ích cho mình.