Chúc mọi người một ngày thứ Sáu tuyệt vời! Ngày càng có ít thời gian trước khi khóa học bắt đầu
Trên giai đoạn phát triển
Trong PostgreSQL 10, chúng ta đã chứng kiến sự ra đời của “phân vùng khai báo”, một tính năng được thiết kế để giải quyết nhiều vấn đề không thể giải quyết được bằng phương pháp kế thừa cũ. Điều này dẫn đến một công cụ mạnh mẽ hơn nhiều cho phép chúng tôi chia dữ liệu theo chiều ngang!
So sánh tính năng
PostgreSQL 11 giới thiệu một bộ tính năng mới ấn tượng giúp cải thiện hiệu suất và làm cho các bảng được phân vùng trở nên minh bạch hơn đối với các ứng dụng.
1. Sử dụng ngoại lệ giới hạn
2. Chỉ thêm các nút
3. Chỉ dành cho bảng được phân vùng tham chiếu đến bảng không được phân vùng
4. Các chỉ mục phải chứa tất cả các cột khóa của phân vùng
5. Giới hạn phần ở cả hai bên phải phù hợp
Năng suất
Chúng tôi cũng có tin tốt ở đây! Đã thêm phương pháp mới WHERE
. Thuật toán trước đó lần lượt kiểm tra từng phần để xác định xem nó có thể đáp ứng điều kiện hay không WHERE
. Điều này dẫn đến việc tăng thêm thời gian lập kế hoạch khi số lượng các phần tăng lên.
Trong phiên bản 9.6, với việc phân vùng thông qua kế thừa, việc định tuyến các bộ dữ liệu vào các phân vùng thường được thực hiện bằng cách viết một hàm kích hoạt chứa một loạt câu lệnh IF để chèn bộ dữ liệu vào đúng phân vùng. Các chức năng này có thể được thực thi rất chậm. Với phân vùng khai báo được thêm vào trong phiên bản 10, việc này hoạt động nhanh hơn nhiều.
Sử dụng bảng được phân vùng với 100 phân vùng, chúng ta có thể đánh giá hiệu suất tải 10 triệu hàng vào một bảng có 1 cột BIGINT và 5 cột INT.
Hiệu suất truy vấn bảng này để tìm một bản ghi được lập chỉ mục và thực thi DML để thao tác với một bản ghi (chỉ sử dụng 1 bộ xử lý):
Ở đây chúng ta có thể thấy hiệu suất của từng thao tác đã tăng lên đáng kể kể từ PG 9.6. Yêu cầu SELECT
trông đẹp hơn nhiều, đặc biệt là những phân vùng có khả năng loại trừ nhiều phân vùng trong quá trình lập kế hoạch truy vấn. Điều này có nghĩa là bộ lập lịch có thể bỏ qua rất nhiều công việc mà lẽ ra nó phải làm trước đó. Ví dụ: đường dẫn không còn được xây dựng cho các phần không cần thiết nữa.
Kết luận
Phân vùng bảng đang bắt đầu trở thành một tính năng rất mạnh mẽ trong PostgreSQL. Nó cho phép bạn nhanh chóng hiển thị dữ liệu trực tuyến và đưa dữ liệu ngoại tuyến mà không cần chờ các hoạt động DML chậm và lớn hoàn tất.. Điều này cũng có nghĩa là dữ liệu liên quan có thể được lưu trữ cùng nhau, nghĩa là dữ liệu bạn cần có thể được truy cập hiệu quả hơn nhiều. Những cải tiến được thực hiện trong phiên bản này sẽ không thể thực hiện được nếu không có các nhà phát triển, người đánh giá và người cam kết làm việc không mệt mỏi với tất cả các tính năng này.
Cảm ơn tất cả họ! PostgreSQL 11 trông thật tuyệt vời!
Đây là một bài viết ngắn nhưng khá thú vị. Chia sẻ ý kiến của bạn và đừng quên đăng ký
Nguồn: www.habr.com