kividbio/kividb
A fast, multi-threaded Redis® and Valkey alternative written in Rust: drop-in compatible, with full-text and vector search built in
什么是 KiviDB?
KiviDB 是一个用 Rust 编写的高性能、多线程内存键值存储。它支持 Redis 协议 (RESP2/RESP3),因此任何现有的 Redis 客户端无需更改即可直接使用。除了经典的 GET/SET 操作外,KiviDB 还集成了 全文和向量搜索(Redis-Stack 风格的 FT.* 命令),并支持可选的 Lua 脚本和 TLS。
为什么它对 AI/ML 很重要
- 向量搜索 – KiviDB 实现了 ANN(近似最近邻)索引(FLAT 和 HNSW),允许您直接在数据库中存储和查询高维嵌入(例如句子或图像向量)。这是检索增强生成 (RAG)、相似度搜索、推荐系统及其他 AI 工作负载的核心构建模块。
- 全文 + 混合搜索 – 您可以在单个查询中将向量相似度与关键字、标签或数字过滤器相结合,从而实现复杂的 RAG 流水线。
- 速度 – 在 32 核 AWS Graviton3 机器上的基准测试显示,其吞吐量达到 2100 万 GETs/s(比 Redis 8 快约 9 倍),同时保持亚毫秒级延迟,这对于大规模 AI 推理服务非常有价值。
关键特性
| 特性 | 详情 |
|---|---|
| 协议兼容性 | 实现 Redis 命令集;可与 redis-cli、各种库及现有 Redis 工具配合使用。 |
| 分片多线程核心 | 每个 CPU 核心持有一个内存哈希表的分片,允许并行执行命令。 |
| 持久化 | 快照 (dump.kdb) 和可选的仅追加文件 (AOF) 以确保数据持久性。 |
| 搜索 | FT.CREATE、FT.SEARCH、FT.HYBRID 等 – 支持哈希字段上的 BM25 全文、标签、数字和 ANN (FLAT/HNSW) 搜索。 |
| Lua 脚本 | 可选 (--features lua) – 支持 EVAL、SCRIPT、FUNCTION、FCALL。 |
| TLS | 可选 (--features tls) – 提供独立的 TLS 监听器和双向 TLS 支持。 |
| 部署 | Docker 镜像、Linux .deb/.rpm 软件包、Linux/macOS 预编译二进制文件,以及通过 Cargo 进行源码构建。 |
| 配置 | Redis 风格的配置文件或命令行标志;默认启用保护模式。 |
| 许可证 | AGPL-3.0(使用该软件不会自动将 AGPL 许可强加于您的应用程序)。 |
入门指南(快速示例)
# 运行官方 Docker 镜像
docker run -d -p 6380:6380 kividb/kividb
# 测试连接
redis-cli -p 6380 PING # → PONG
# 创建向量索引 (HNSW, 128 维 float32 向量)
redis-cli -p 6380 FT.CREATE idx ON HASH PREFIX 1 doc: \
SCHEMA vec VECTOR HNSW 10 TYPE FLOAT32 DIM 128 DISTANCE_METRIC COSINE M 16 EF_CONSTRUCTION 128
# 在哈希中存储向量 (二进制 blob)
redis-cli -p 6380 HSET doc:1 vec <binary-blob>
# 查询 10 个最近邻
redis-cli -p 6380 FT.SEARCH idx '*=>[KNN 10 @vec $q]' \
PARAMS 2 q <binary-blob> DIALECT 2
所有命令遵循与 Redis Stack 相同的语法,因此现有的教程均适用。
何时选择 KiviDB
- 您需要 Redis 兼容 的客户端库,但希望获得 更好的多核可扩展性。
- 您的工作负载包含 大规模向量相似度搜索(例如用于基于 LLM 的 RAG 的嵌入存储),并且您更倾向于使用 一体化服务器 而非单独的向量数据库。
- 您希望在保持与 Redis 兼容的同时,获得 Rust 级别的安全性和性能。
- 您需要可选的 TLS 或 Lua 脚本,且不想引入额外的模块。
它在生态系统中的位置
KiviDB 与其他 Redis 兼容服务器(Redis 8、Valkey、Dragonfly、KeyDB)并列,但其独特之处在于:
- 在分片键空间上运行 每个核心(而不是单个 I/O 线程)。
- 提供 内置向量搜索,无需外部模块。
- 提供 Rust 实现,这可能吸引那些偏好 Rust 以获得安全性和性能的团队。
资源
- GitHub – https://github.com/kividbio/kividb
- 网站 – https://kividb.io
- 文档 –
COMMANDS.md包含支持的命令,docs/包含日志、持久化、TLS 和更新检查详情。 - 基准测试 – README 中的视频和表格展示了吞吐量、延迟和向量搜索性能。
- 社区 – 在 AGPL-3.0 下开源;欢迎通过 pull requests 贡献代码。
相关
- 项目
- 项目
- 项目
- 项目