Dự án Redka phát triển việc triển khai giao thức và API Redis trên SQLite

Các bản phát hành đầu tiên của dự án Redka đã được xuất bản, nhằm mục đích cung cấp giao thức RESP và API tương thích với Redis DBMS, nhưng được triển khai trên thư viện SQLite. Ngoài ra, việc sử dụng SQLite còn cho phép bạn truy cập dữ liệu bằng ngôn ngữ SQL, chẳng hạn như để tạo báo cáo hoặc phân tích dữ liệu. Việc sử dụng các giao dịch ACID được hỗ trợ. Redka có thể được chạy như một máy chủ chấp nhận các yêu cầu qua mạng hoặc được sử dụng làm mô-đun Go. Mã dự án được viết bằng Go và được phân phối theo giấy phép BSD.

Hiện tại, Redka đã bổ sung hỗ trợ cho các kiểu làm việc với chuỗi và hàm băm, cũng như các lệnh để thao tác dữ liệu chuỗi, khóa, giao dịch và hàm băm. Ví dụ: các lệnh có sẵn để cài đặt và nhận một hoặc nhiều giá trị chuỗi được liên kết với khóa, đặt thời gian tồn tại của khóa, tăng/giảm giá trị, tìm kiếm khóa theo mẫu, đổi tên khóa, thực thi một loạt lệnh trong giao dịch , hủy giao dịch, làm việc với các trường ở dạng băm .

Trong tương lai gần, chúng tôi dự định bổ sung hỗ trợ cho danh sách, bộ sưu tập (bộ) và bộ sưu tập được sắp xếp. Về lâu dài, dự kiến ​​sẽ triển khai thuật toán HyperLogLog, khả năng thao tác tọa độ địa lý và các lệnh để tương tác bằng mô hình xuất bản/đăng ký. Hiện chưa có kế hoạch bổ sung hỗ trợ cho tập lệnh bằng ngôn ngữ Lua, xác thực, ACL, xem/bỏ xem và khả năng hoạt động trên một máy chủ với nhiều cơ sở dữ liệu. Hỗ trợ cho các cụm (Redis Cluster) và giám sát (Redis Sentinel) chắc chắn sẽ không được triển khai.

Kiểm tra hiệu suất bằng các công cụ từ dự án Redis cho thấy Redka chậm hơn Redis 2-6 lần do thiếu các tối ưu hóa cụ thể để lưu trữ dữ liệu ở định dạng khóa/giá trị. Đặc biệt, trong môi trường thử nghiệm được tạo, Redis đã thể hiện hiệu suất của 133 nghìn thao tác SET mỗi giây và 139 nghìn thao tác GET mỗi giây, trong khi hiệu suất của Redka là 30 nghìn SET mỗi giây và 63 nghìn GET mỗi giây trong tình huống cơ sở dữ liệu được đặt trong bộ nhớ truy cập ngẫu nhiên. Khi lưu trữ cơ sở dữ liệu trên đĩa, hiệu suất của Redka là 22 nghìn thao tác SET mỗi giây và 56 nghìn thao tác GET mỗi giây.

Nguồn: opennet.ru

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