OrioleDB Beta12 Cho Thấy Hiệu Suất Cải Thiện Đáng Kể Nhưng Vẫn Là Extension Do Cần Patch PostgreSQL Core

Nhóm Cộng đồng BigGo
OrioleDB Beta12 Cho Thấy Hiệu Suất Cải Thiện Đáng Kể Nhưng Vẫn Là Extension Do Cần Patch PostgreSQL Core

Hệ sinh thái storage engine của PostgreSQL đang trải qua những thay đổi đáng kể khi OrioleDB beta12 mang lại những cải thiện hiệu suất ấn tượng. Extension storage tùy chỉnh này thay thế hệ thống Heap storage mặc định của PostgreSQL bằng một hệ thống dựa trên undo log, cho thấy những cải thiện đáng kể trong các benchmark xử lý giao dịch. Tuy nhiên, con đường đến việc áp dụng rộng rãi đang đối mặt với những thách thức thú vị đã khơi dậy các cuộc thảo luận trong cộng đồng.

Cải Thiện Hiệu Suất Khơi Dậy Câu Hỏi Về Tích Hợp

Các benchmark mới nhất cho thấy những cải thiện hiệu suất đáng kể, với OrioleDB đạt được throughput tốt hơn tới 2.6 lần so với PostgreSQL tiêu chuẩn trong các bài test TPC-C. Trên các instance lớn hơn, sự khác biệt trở nên còn ấn tượng hơn - đạt 218,716 giao dịch mỗi phút so với 83,653 của PostgreSQL trên các instance 16xl. Những kết quả này đã khiến các thành viên cộng đồng đặt câu hỏi tại sao những cải thiện như vậy chưa được tích hợp vào core của PostgreSQL.

Kiến trúc đằng sau những cải thiện này tương tự như cách tiếp cận của Oracle, sử dụng hệ thống undo log tránh được các vấn đề bloat phổ biến với việc triển khai MVCC truyền thống của PostgreSQL. Lựa chọn thiết kế này chuyển việc quản lý dead tuple khỏi khu vực storage chính sang các undo log riêng biệt, cải thiện hiệu quả tổng thể.

Kết quả Benchmark TPC-C (Giao dịch mỗi phút)

Kích thước Instance PostgreSQL Heap OrioleDB Cải thiện Hiệu suất
large 6,155 7,539 1.22x
xl 11,129 18,390 1.65x
2xl 12,812 25,786 2.01x
4xl 17,392 31,844 1.83x
8xl 37,577 84,770 2.26x
12xl 56,830 116,564 2.05x
16xl 83,653 218,716 2.61x
So sánh hiệu suất của OrioleDB và PostgreSQL trong các bài kiểm tra benchmark TPC-C, làm nổi bật thông lượng vượt trội của OrioleDB
So sánh hiệu suất của OrioleDB và PostgreSQL trong các bài kiểm tra benchmark TPC-C, làm nổi bật thông lượng vượt trội của OrioleDB

Trạng Thái Extension và Thách Thức Tích Hợp Core

Mặc dù có những con số hiệu suất ấn tượng, OrioleDB vẫn là một extension yêu cầu patch PostgreSQL core. Đội ngũ phát triển đã gửi các patch cho Table Access Method API upstream, nhưng quá trình tích hợp vẫn đang tiếp tục. Các cuộc thảo luận trong cộng đồng cho thấy sự tò mò về việc liệu đội ngũ core của PostgreSQL nổi tiếng bảo thủ có cuối cùng sẽ áp dụng những cải thiện này như một sự thay thế cho hệ thống Heap storage lâu đời hay không.

Một hệ thống dựa trên undo log về cơ bản là cách Oracle cấu trúc core row storage của mình, với mỗi row được biến đổi tại chỗ và chứa một header liệt kê chuỗi các giao dịch hiện đang giữ các phiên bản khác nhau của nó.

Bản chất bảo thủ của quy trình phát triển PostgreSQL có nghĩa là những thay đổi cơ bản như vậy đòi hỏi việc xem xét và kiểm tra kỹ lưỡng trước khi có thể tích hợp.

Tương Thích và Phát Triển Tương Lai

Các câu hỏi về tương thích hiện tại tập trung vào khả năng của OrioleDB để làm việc với các extension và công cụ khác của PostgreSQL. Extension này có vẻ tương thích với các công cụ dựa trên logical replication, mở ra khả năng sử dụng với nhiều giải pháp quản lý cơ sở dữ liệu khác nhau. Tuy nhiên, người dùng vẫn cần áp dụng các patch cụ thể để sử dụng OrioleDB với các cài đặt PostgreSQL tiêu chuẩn.

Lộ trình phát triển bao gồm các tính năng đầy tham vọng như khả năng multi-master, mặc dù trọng tâm ngay lập tức vẫn là đạt được trạng thái general availability. Cách tiếp cận này cho thấy một sự tiến triển có đo lường hướng tới sự sẵn sàng cho production trong khi duy trì tương thích với hệ sinh thái của PostgreSQL.

Sự nhiệt tình của cộng đồng đối với những cải thiện hiệu suất này phản ánh mong muốn rộng lớn hơn về các giải pháp cơ sở dữ liệu mã nguồn mở mạnh mẽ hơn mà không yêu cầu tùy chỉnh rộng rãi. Khi OrioleDB tiến tới sự ổn định, nó đại diện cho một bước tiến đáng kể trong sự phát triển của PostgreSQL, ngay cả khi việc tích hợp với hệ thống core vẫn còn không chắc chắn.

Tham khảo: OrioleDB beta12: features and benchmarks

So sánh độ trễ giữa OrioleDB và PostgreSQL trong các bài kiểm tra TPC-C, minh họa những lợi thế hiệu suất nhất quán của OrioleDB
So sánh độ trễ giữa OrioleDB và PostgreSQL trong các bài kiểm tra TPC-C, minh họa những lợi thế hiệu suất nhất quán của OrioleDB