Dqlite 1.0, phiên bản phân tán của SQLite từ Canonical, đã có sẵn

Công ty Canonical được phát hành phát hành dự án quan trọng Dqlite 1.0 (Sqlite phân tán), phát triển công cụ SQL nhúng tương thích với SQLite, hỗ trợ sao chép dữ liệu, tự động phục hồi sau lỗi và khả năng chịu lỗi bằng cách phân phối trình xử lý trên nhiều nút. DBMS được triển khai dưới dạng thư viện C gắn liền với các ứng dụng và phân phối bởi theo giấy phép Apache 2.0 (SQLite gốc được cung cấp trong phạm vi công cộng). Ràng buộc ngôn ngữ có sẵn Go.

Thư viện này là một tiện ích bổ sung cho cơ sở mã SQLite hiện có, bổ sung hỗ trợ giao thức mạng để kết nối nhiều phiên bản của một ứng dụng chạy trên các máy chủ khác nhau. Một ứng dụng được biên dịch bằng Dqlite có thể hoạt động như một cụm có khả năng chịu lỗi tự cung cấp, độc lập với các DBMS bên ngoài. Trong thực tế, Dqlite được Canonical sử dụng trong hệ thống quản lý container của mình Lxd. Trong số các lĩnh vực ứng dụng của thư viện, việc tạo ra các thiết bị và bộ xử lý Internet of Things có khả năng chịu lỗi trong hệ thống cũng được đề cập.
Cạnh- tính toán.

Để đảm bảo tính nhất quán trong việc sao chép dữ liệu, phương pháp đồng thuận dựa trên thuật toán được sử dụng , được sử dụng trong các dự án như etcd, RethinkDB, CockroachDB và OpenDaylight. Dqlite sử dụng triển khai không đồng bộ của riêng nó bè chữ C, viết bằng ngôn ngữ C. Các thư viện tạo sẵn được sử dụng để xử lý kết nối đa kênh và tổ chức khởi chạy coroutine libuv и libco.

So với một dự án tương tự rqliteDqlite cung cấp hỗ trợ giao dịch đầy đủ, có thể giao tiếp với bất kỳ dự án C nào, cho phép sử dụng hàm time() và sử dụng sao chép dựa trên khung thay vì sao chép dựa trên dịch thuật SQL.

Các tính năng của Dqlite:

  • Thực hiện tất cả các hoạt động của đĩa và mạng một cách không đồng bộ;
  • Có sẵn bộ kiểm tra để xác nhận tính chính xác của dữ liệu;
  • Tiêu thụ bộ nhớ thấp và trao đổi dữ liệu hiệu quả qua mạng;
  • Lưu trữ vĩnh viễn cơ sở dữ liệu và nhật ký giao dịch trên đĩa (với khả năng lưu vào bộ nhớ đệm);
  • Phục hồi nhanh sau sự cố;
  • Máy khách CLI ổn định bằng ngôn ngữ Go, có thể được sử dụng để khởi tạo cơ sở dữ liệu, định cấu hình sao chép và các nút kết nối/ngắt kết nối;
  • Hỗ trợ kiến ​​trúc ARM, X86, POWER và IBM Z;
  • Việc triển khai thuật toán Raft được tối ưu hóa để giảm thiểu độ trễ khi thực hiện giao dịch.

Nguồn: opennet.ru

Thêm một lời nhận xét