EloqKV: Cơ Sở Dữ Liệu Key-Value Hiệu Năng Cao với API Tương Thích Redis

Giới Thiệu EloqKV

EloqKV là một cơ sở dữ liệu phân tán hiệu năng cao với API tương thích Redis/ValKey. Nền tảng này cung cấp các tính năng đột phá như giao dịch ACID, khả năng mở rộng linh hoạt, lưu trữ phân tầng và cú pháp giao dịch kiểu session – tất cả trong khi vẫn giữ được sự đơn giản và dễ sử dụng của Redis. EloqKV được thiết kế dành riêng cho các nhà phát triển cần một giải pháp cơ sở dữ liệu hiện đại, mạnh mẽ để xây dựng ứng dụng trong thời đại AI.

Tại Sao Chọn EloqKV Thay Vì Redis?

Tính Năng Redis EloqKV
Hiệu Năng Cao Đơn luồng Đa luồng (1.6 triệu QPS trên c6g.8xlarge)
Giao Dịch MULTI/EXEC (Không Rollback) API Redis + BEGIN/COMMIT/ROLLBACK (ACID)
Giao Dịch Phân Tán Lỗi CROSSSLOT Giao dịch phân tán ACID
Độ Bền Dữ Liệu Hạn chế, snapshot AOF/RDB WAL được sao chép + Lưu trữ phân tầng

Các Tính Năng Nổi Bật

⚡ Hiệu Năng Vượt Trội

  • Kiến trúc đa luồng tận dụng tối đa CPU đa nhân hiện đại
  • Hiệu suất đạt 1.6 triệu QPS trên AWS c6g.8xlarge
  • Khả năng mở rộng ngang với giao dịch phân tán

🗃️ Lưu Trữ Phân Tầng Độ Bền Cao

  • WAL đảm bảo dữ liệu không bị mất khi mất điện
  • Dữ liệu nóng trong bộ nhớ cho tốc độ truy xuất microsecond
  • Dữ liệu lạnh tự động chuyển sang ổ đĩa
  • Tiết kiệm 70% chi phí bộ nhớ so với Redis thuần bộ nhớ

🛠️ Giao Dịch ACID với Cú Pháp Session

Ngoài cú pháp giao dịch Redis tiêu chuẩn (MULTI/EXEC), EloqKV còn hỗ trợ giao dịch kiểu session tương tác:


-- Chuyển tiền giữa các tài khoản một cách nguyên tử<br>
BEGIN<br>
GET user:1000:balance -- trả về 1000<br>
INCRBY user:1000:balance -500 -- trả về ok<br>
INCRBY user:2000:balance +500 -- trả về ok<br>
COMMIT<br>
-- Rollback nếu thất bại<br>

🌐 Giao Dịch Phân Tán ACID

Thực hiện các thao tác nguyên tử xuyên node mà không bị giới hạn hash slot:


-- Ví dụ chuyển tiền xuyên node<br>
BEGIN<br>
INCRBY user:1000:balance -500 -- node A<br>
HSET order:2000:status "paid" -- node B<br>
COMMIT<br>

Hướng Dẫn Cài Đặt Nhanh

Sử Dụng Docker

Khởi động một node đơn giản bằng Docker:


# Tạo mạng con cho container<br>
docker network create --subnet=172.20.0.0/16 eloqnet<br><br>

docker run -d --net eloqnet --ip 172.20.0.10 -p 6379:6379 --name=eloqkv eloqdata/eloqkv<br>

Kiểm tra cài đặt:


redis-cli -h 172.20.0.10<br><br>

172.20.0.10:6379> set hello world<br>
OK<br>
172.20.0.10:6379> get hello<br>
"world"<br>

Kiến Trúc Hệ Thống

EloqKV là cơ sở dữ liệu phân tán được xây dựng trên nền tảng Data Substrate – nền tảng cơ sở dữ liệu sáng tạo được phát triển bởi EloqData. Mỗi phiên bản EloqKV bao gồm một frontend tương thích với giao thức Redis, triển khai cùng với TxService cốt lõi để xử lý các thao tác dữ liệu.

Giấy Phép

EloqKV được phát hành theo giấy phép kép. Bạn có thể chọn sử dụng theo:

  • GNU General Public License, Version 2 (GPLv2), hoặc
  • GNU Affero General Public License, Version 3 (AGPLv3)

Tài Nguyên Tham Khảo

Chỉ mục