PostgreSQL 17 mang đến những cải tiến lớn về hiệu suất, tính năng sao lưu gia tăng mới và hơn thế nữa

PostgreSQL 17

Như nó đã được trình bày hàng năm từ tháng 9 đến tháng 10, Sự ra mắt của phiên bản mới của PostgreSQL 17 đã được công bố và như trong tất cả các phiên bản trước, Ưu tiên vẫn là cải thiện hiệu suất và tối ưu hóa về tài nguyên, đặc biệt là cho các hoạt động như VACUUM, I/O và truy vấn, trong khi tính năng mới quan trọng nhất của bản phát hành này là sao lưu gia tăng.

Đối với người dùng doanh nghiệp, bản cập nhật mang đến một loạt cải tiến giúp đơn giản hóa việc quản lý và sử dụng cơ sở dữ liệu. Mặc dù PostgreSQL trước đây là cơ sở dữ liệu quan hệ nhưng phiên bản này mở rộng khả năng tích hợp với chức năng nâng cao để làm việc với các tài liệu JSON, một tính năng thường được liên kết với MongoDB Atlas.

Có gì mới trong PostgreSQL 17

Trong phiên bản mới này của PostgreSQL 17 được trình bày, cấu trúc dữ liệu mới trong hoạt động VACUUM, giúp giảm mức tiêu thụ bộ nhớ lên tới 20 lần, cho phép các hoạt động này nhanh hơn và hiệu quả hơn về mặt tài nguyên được chia sẻ.

Về phần Cải thiện hiệu suất, quản lý nhật ký ghi lại (WAL) đã được tối ưu hóa, đạt hiệu suất ghi lên tới gấp đôi trên các hệ thống có nhiều truy vấn đồng thời. Nó đã được đề xuất một Truyền giao diện I/O để cải thiện tìm kiếm tuần tự và cập nhật số liệu thống kê sau khi thực hiện thao tác PHÂN TÍCH.

Ngoài nó, các cải tiến đã được triển khai trong các truy vấn có mệnh đề “IN” Bằng cách sử dụng các chỉ mục B-tree, cũng như việc xây dựng song song các chỉ mục BRIN đã được triển khai, việc kiểm tra "NOT NULL" đã được tối ưu hóa và việc xử lý các biểu thức bảng chung (CTE) đã được tăng tốc và đã kết hợp SIMD để tính toán chuyên sâu. các hướng dẫn, chẳng hạn như AVX-512, để tăng tốc các thao tác như hàm `bit_count`.

Một điểm mới nổi bật nữa là các tính năng mới cho JSON, kể từ khi Giờ đây, người dùng có thể truy vấn các kiểu dữ liệu JSON bằng các lệnh SQL tiêu chuẩn. Điều này có thể thực hiện được nhờ chức năng bảng mới json, biến đổi dữ liệu JSON thành cấu trúc dạng bảng. Từ đó, người dùng có thể thực hiện truy vấn bằng mệnh đề FROM trong SQL, cho phép dữ liệu được trả về ở định dạng quan hệ. Đã thêm hàm `JSON_TABLE` để chuyển đổi dữ liệu JSON sang các bảng PostgreSQL tiêu chuẩn.

Các chức năng sao lưu gia tăng mới trong PostgreSQL 17 đó cho phép bạn chỉ sao lưu những thay đổi được thực hiện kể từ lần sao lưu cuối cùng đầy đủ hoặc tăng dần, giúp tối ưu hóa việc sử dụng băng thông và giảm dung lượng lưu trữ. Mặc dù PostgreSQL đã cung cấp các giải pháp như Lưu trữ WAL, sao chép nhật ký ghi trước (WAL) để duy trì các phần cần thiết của cơ sở dữ liệu, nhưng phiên bản 17 lần đầu tiên giới thiệu một cơ chế gốc để thực hiện các bản sao gia tăng. Hệ thống này không chỉ giảm thiểu sự gián đoạn trong quá trình vận hành do ít ảnh hưởng đến hiệu suất hơn mà còn giảm đáng kể thời gian khôi phục, một khía cạnh quan trọng vì khôi phục bản sao lưu thường là một quá trình chậm và đáng lo ngại đối với người dùng.

Công cụ độc lập với nền tảng được triển khai để xử lý các thuộc tính miền địa phương, cho phép hành vi nhất quán trong thứ tự kết quả truy vấn. Công cụ này tính đến các yếu tố như sự hiện diện của các ký tự đặc biệt và phân biệt chữ hoa chữ thường khi sắp xếp các giá trị. Cơ chế sao chép logic hiện đơn giản hóa quá trình nâng cấp cơ sở dữ liệu mà không cần xóa các khe sao chép logic hoặc đồng bộ hóa lại dữ liệu khi di chuyển sang phiên bản mới.

Của những thay đổi khác nổi bật:

  • Việc xuất các chuỗi dài bằng lệnh `COPY` đã được tăng tốc lên đến hai lần.
  • Sao chép được tối ưu hóa khi mã hóa nguồn và đích khớp nhau.
  • Tùy chọn `ON_ERROR` đã được thêm vào để cho phép quá trình nhập tiếp tục mặc dù có lỗi khi chèn dữ liệu.
  • Đã thêm khả năng sử dụng các cột có mã định danh duy nhất trong các bảng được phân vùng.
  • Đã triển khai tính năng chuyển đổi dự phòng để chuyển sang máy chủ dự phòng ở các cấu hình có khả năng chịu lỗi.
  • Đã thêm tiện ích pg_createsubscriber mới để chuyển đổi bản sao vật lý thành bản sao logic.
  • Đã giới thiệu tùy chọn “sslnegotiation” để thương lượng trực tiếp các kết nối TLS an toàn bằng cách sử dụng tiện ích mở rộng ALPN TLS.
  • Đã thêm vai trò được xác định trước pg_maintain, cung cấp cho người dùng quyền thực hiện các hoạt động liên quan đến bảo trì DBMS

Cuối cùng, nếu bạn quan tâm có thể biết thêm về nó, bạn có thể tham khảo chi tiết Trong liên kết sau đây.


Thêm vào danh sách nguồn ưu tiên trên Google.