Phiên bản mới của PostgreSQL 11.0 đã được phát hành

postgresql

PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ đối tượng mã nguồn mở miễn phí , được phát hành theo giấy phép PostgreSQL, tương tự như giấy phép BSD hoặc MIT.

Giống như nhiều dự án mã nguồn mở khác, việc phát triển PostgreSQL không do một công ty hay cá nhân nào quản lý, mà do một cộng đồng các nhà phát triển dẫn dắt, những người làm việc một cách vị tha, tự nguyện, miễn phí hoặc được hỗ trợ bởi các tổ chức thương mại.

Một số đặc điểm chính của nó là:

Tham dự cao

Thông qua hệ thống MVCC (Multiversion Concurrent Access), PostgreSQL cho phép các tiến trình ghi vào một bảng trong khi các tiến trình khác truy cập cùng bảng đó mà không cần khóa . Mỗi người dùng đều có được một cái nhìn nhất quán.

PostgreSQL nguyên bản cung cấp hỗ trợ cho:

  • Số chính xác tùy ý.
  • Độ dài văn bản không giới hạn.
  • Hình học (với một loạt các chức năng liên quan).
  • Địa chỉ IP (IPv4 và IPv6).
  • Các khối địa chỉ kiểu CIDR.
  • Địa chỉ MAC.

Mảng.

Ngoài ra, người dùng có thể tạo các kiểu dữ liệu riêng của mình, và các kiểu dữ liệu này có thể được lập chỉ mục đầy đủ nhờ vào cơ sở hạ tầng GiST của PostgreSQL. Ví dụ như các kiểu dữ liệu GIS được tạo bởi dự án PostGIS.

Giới thiệu về phiên bản mới của PostgreSQL 11.0

Cách đây vài ngày, phiên bản mới của PostgreSQL đã được phát hành, đạt đến phiên bản PostgreSQL 11, bổ sung thêm các tính năng mới và trên hết là sửa chữa một số lỗi.

Điểm mới chính là họ tập trung vào việc quản lý cơ sở dữ liệu với một khối lượng lớn dữ liệu.

Cải thiện phân vùng

PostgreSQL từ lâu đã cho phép phân vùng ; điều này bao gồm việc lưu trữ dữ liệu trong nhiều bảng riêng biệt nhưng về mặt logic, chúng là một phần của một bảng duy nhất.

Người dùng cơ sở dữ liệu không nhìn thấy sự phân bổ này, điều này cho phép dữ liệu được lưu trữ trên nhiều hệ thống tệp khác nhau với các đặc điểm khác nhau tùy thuộc vào dữ liệu. Ví dụ, dữ liệu gần đây được lưu trữ trên ổ SSD, và dữ liệu cũ hơn được lưu trữ trên ổ cứng.

Có thể phân vùng thành các danh sách hoặc khoảng dữ liệu. Bây giờ có thể phân vùng một băm khóa để ngẫu nhiên hóa dữ liệu.

Điều này giúp bạn có thể phân phối các thao tác đọc và ghi trên nhiều cửa hàng.

Các khóa chính và khóa ngoài, cũng như các chỉ mục và trình kích hoạt, giờ đây có thể được khai báo ở cấp bảng chính và sẽ được phản ánh trên tất cả các bảng thành viên trong phân vùng.

Giờ đây, PostgreSQL cũng có thể tự động thay đổi dữ liệu phân vùng nếu khóa phân phối bị thay đổi.

Hiệu suất đọc của các bảng được phân vùng cũng đã được cải thiện với chiến lược loại bỏ phân vùng mới.

Tính năng UPSERT hiện đã khả dụng cho các bảng được phân vùng.

postgresql 11

Tính khả dụng của các giao dịch trong các thủ tục được lưu trữ

Các thủ tục được lưu trữ đã có sẵn trong PostgreSQL từ lâu, nhưng không thể tạo giao dịch ở đó. Bây giờ nó là có thể.

Cải thiện hiệu suất

Hiện nay, nhiều thao tác có thể được thực hiện song song để tận dụng tối đa số lõi xử lý trong các bộ vi xử lý hiện đại.

Do đó, các bảng được phân vùng có thể được đọc song song, cũng như khi truy vấn SELECT bao gồm mệnh đề UNION.

Việc tạo chỉ mục cũng được thực hiện song song, cũng như các lệnh Ngôn ngữ Định nghĩa Dữ liệu ( DDL ) khác, chẳng hạn như CREATE TABLE hoặc CREATE MATERIALIZED VIEW.

Xây dựng khi di chuyển

Trình biên dịch dựa trên thời gian có sẵn . Nó có thể tối ưu hóa các truy vấn phức tạp để cải thiện tốc độ thực thi. PostgreSQL sử dụng trình biên dịch LLVM cho mục đích này.

Để kích hoạt chức năng này, bạn cần thêm jit=on vào tệp cấu hình hoặc định nghĩa biến phiên SET jit=on.

Đơn giản hóa = tốc độ

Không còn cần thiết phải viết lại toàn bộ bảng khi thực hiện lệnh ALTER TABLE … ADD COLUMN … DEFAULT … với giá trị mặc định khác NULL. Điều này giúp cải thiện đáng kể tốc độ thực thi của lệnh, đặc biệt là với các bảng lớn.

Trải nghiệm người dùng

Ngoài lệnh \q, các từ khóa quitty exit hiện được giao diện dòng lệnh (psql) nhận diện để hoàn tất quá trình.

Để tải phiên bản mới này, bạn có thể truy cập vào liên kết sau.


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