OrioleDB, một công cụ lưu trữ mới cho PostgreSQL

chim vàng anhDB

OrioleDB kết hợp các lợi thế của công cụ trên đĩa và trong bộ nhớ, tăng hiệu suất cơ sở dữ liệu và giảm chi phí

Gần đây, thông tin về việc xuất bản một công cụ lưu trữ mới cho PostgreSQL được gọi là "OrioleDB", được tạo bởi OrioleData.

Mục tiêu từ OrioleDB là cung cấp lưu trữ nhanh và nhỏ gọno không gây quá tải các tệp cơ sở dữ liệu theo thời gian và điều đó không yêu cầu sử dụng quy trình VACUUM chạy định kỳ để thu gom rác.

Nó thực hiện điều này bằng cách triển khai hoàn tác các bản ghi ở cấp độ hàng và khối., cũng như hợp nhất trang tự động. Nhật ký hoàn tác cấp hàng và khối cung cấp mức độ kiểm soát chi tiết hơn, cho phép xử lý các thay đổi dữ liệu hiệu quả hơn. Tính năng hợp nhất trang tự động hoạt động liên tục trong nền để hợp nhất dữ liệu bị phân mảnh, nâng cao hơn nữa hiệu quả của hệ thống.

Giới thiệu về OrioleDB

Như chúng tôi đã đề cập, OrioleDB là một công cụ mới dành cho PostgreSQL, được phát triển với một mục tiêu chính: ngăn không cho các bảng bị quá tải và loại bỏ nhu cầu bảo trì thường xuyên như VACUUM.

Các cấu trúc được sử dụng trong OrioleDB cho phép các hoạt động được xử lý hiệu quả hơn sửa đổi dữ liệu trong cơ sở dữ liệu và thay thế các khối được giải phóng mà không tích lũy chúng kịp thời. Khả năng bỏ qua VACUUM được triển khai thông qua việc sử dụng nhật ký khôi phục (hoàn tác nhật ký) hoạt động ở cấp độ khối và dòng riêng lẻ, cũng như hệ thống tự động hợp nhất các trang dữ liệu.

Bản ghi khôi phục cấp độ hàng cho phép cập nhật với thay thế dữ liệu tại chỗ mà không giải phóng bản ghi hiện tại và tạo bản ghi mới. Ghi nhật ký khôi phục cấp độ khối cho phép bạn ưu tiên các bộ dữ liệu và giải phóng dung lượng lưu trữ ngay sau thao tác XÓA, mặc dù chúng vẫn hiển thị trong các giao dịch không thành công. Để giảm phân mảnh bộ nhớ do xóa nhiều lần, các trang dữ liệu riêng lẻ sẽ tự động được hợp nhất trong nền.

Nhật ký giao dịch WAL trong OrioleDB được giữ ở cấp độ hàng chứ không phải theo khối, giúp dễ dàng sử dụng trong các hệ thống phân tán và cho phép triển khai ghi nhật ký song song. Có thể tạo cấu hình phân tán với một số máy chủ chính đang hoạt động, để giữ chúng ở trạng thái đồng bộ, thuật toán đồng thuận Raft được sử dụng.

Trong số các đặc điểm nổi bật từ OrioleDB, bạn có thể thấy đọc các trang dữ liệu mà không cần sử dụng khóa, liên kết trực tiếp các trang trong RAM với các trang trong bộ lưu trữ vĩnh viễn, việc sử dụng cơ chế CoW (sao chép khi ghi) bằng cách đặt các điểm kiểm tra để tạo ảnh chụp nhanh nhất quán vào bất kỳ lúc nào. Các giá trị 64 bit được sử dụng cho các mã định danh giao dịch, việc sử dụng chúng sẽ giải quyết vấn đề tràn bộ đếm.

Sử dụng OrioleDB cho phép không chỉ loại bỏ nhu cầu thao tác thủ công và đơn giản hóa việc bảo trì DBMS, mà còn tăng hiệu suất. Ví dụ: đạt được hiệu suất tốt hơn bằng cách cập nhật dữ liệu tại chỗ, điều này tránh việc thay đổi các chỉ mục không liên quan đến việc lưu trữ giá trị đã thay đổi. Công cụ này cũng hỗ trợ lưu trữ dữ liệu ở dạng nén (việc nén được thực hiện bằng thuật toán ZSTD và được triển khai ở cấp khối có kích thước thay đổi), cho phép bạn giảm kích thước của cơ sở dữ liệu trên đĩa xuống 4-5 lần.

Thử nghiệm thiết lập một bảng với 5 chỉ mục bằng OrioleDB cho thấy TPS (giao dịch được xử lý mỗi giây) tăng gấp 5 lần, tải CPU giảm 2.3 lần, thao tác I/O trên mỗi giao dịch giảm 22 lần.

Cuối cùng nếu bạn muốn biết thêm về nó, bạn nên biết rằng động cơ được viết bằng C và Nó được phân phối theo giấy phép PostgreSQL và được triển khai như một plugin yêu cầu các thay đổi đối với cơ sở mã PostgreSQL cốt lõi.

Cần lưu ý rằng ở dạng hiện tại, công cụ đang trong giai đoạn thử nghiệm beta và chưa được khuyến nghị triển khai sản xuất.

Bạn có thể kiểm tra các chi tiết của ấn phẩm gốc tại liên kết sau.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.