KiviDB Vibe 项目
面向 AI 与实时应用的 Redis 兼容内存数据库,Rust 多线程实现,内置 BM25 全文与 HNSW 向量检索
项目简介
KiviDB 是用 Rust 编写的高性能内存键值数据库,定位是 Redis 与 Valkey 的开源替代品。它完整实现 Redis 协议(RESP2 与 RESP3),现有的 Redis 客户端、redis-cli 和各类语言库可以原样接上无需改动;同时把全文检索与向量检索直接内置进引擎,不需要额外挂载 Redis Stack 模块。官方定位一句话说得很清楚:面向 AI 与实时应用的内存数据库。仓库创建于 2026 年 10 月 16 日,四天内收获 283 个 Star,开源协议为 AGPL-3.0。
核心功能
- 完整 Redis 命令兼容:支持 RESP2/RESP3 协议与 Redis 命令集合,已有客户端零改动迁移,官方也整理了 COMMANDS.md 逐条列出支持范围。
- 内置全文与向量检索:提供 Redis Stack 风格的
FT.*命令族,支持 BM25 全文检索、标签与数值过滤,以及基于 FLAT 和 HNSW 的向量近似检索。 - 流水线极致吞吐:在 32 核环境下流水线化 GET 达到约 2120 万次/秒,约为 Redis 8 的 9 倍、Dragonfly 的 2.3 倍;流水线 GET/SET 的 p99 延迟低至 0.36 / 0.42 毫秒。
- 多线程分片架构:采用分片内存键值设计,每个 CPU 核心都能执行命令,而 Redis 与 Valkey 的命令执行主要落在单线程上。
- 混合搜索与向量加速:在 glove-25-angular 数据集(118 万条 25 维向量)上,ef=64 时查询吞吐约 5.93 万 QPS,recall@10 达 0.943。
- Lua 脚本与 TLS:可选 Cargo feature 提供 EVAL、SCRIPT、FUNCTION 等 Lua 脚本命令,并支持 TLS 加密连接。
- 持久化与安全:支持快照和可选追加日志(AOF)持久化,默认监听 0.0.0.0:6380 并开启受保护模式。
- 开源自托管与商业授权双轨:AGPL-3.0 开源免费,同时由 KIVIDB PRIVATE LIMITED 提供商业授权;官方还提供 KiviDB Cloud 托管服务。
技术实现
KiviDB 的技术路线可以概括为"用 Rust 重写 Redis 的数据面,并把搜索塞进同一个引擎"。核心设计是分片的内存键值结构:命令在每个核心上并行执行,避开了 Redis 单线程模型在多核机器上的瓶颈。向量化方面实现了 Redis Stack 兼容的 FT.CREATE / FT.SEARCH 命令族,向量以 FLOAT32 小端字节存储在 Hash 字段中(维度乘 4 字节),与 Redis Stack 以及 redis-py、numpy 的 blob 约定完全一致,因此现成的检索教程大多可以直接照搬;KNN 查询使用 Dialect 2 语法并以命名二进制参数传入查询向量。基准测试方法相当严谨:在 AWS Graviton3 裸金属 c7gn.metal(64 vCPU,限定 32 核)上,负载生成器放在同一放置组的第二台机器,使用 memtier_benchmark 跑 1000 万键、100 字节值、每场景 30 秒、300 连接流水线化,Redis、Dragonfly、KiviDB 依次单独运行以避免相互干扰;向量部分则复用 redis/vector-db-benchmark 测试框架。官方也提醒这些数字只是一次受控环境下的快照,实际表现需在自己的硬件与负载上实测。
快速上手
- 拉起容器:
docker run -d -p 6380:6380 kividb/kividb,KiviDB 监听 6380 端口,与 Redis 的 6379 可以并行运行。 - 连通性验证:
redis-cli -p 6380 PING应返回 PONG;若要占用标准端口,可传--port 6379。 - 创建索引:用
FT.CREATE idx ON HASH PREFIX 1 doc: SCHEMA声明至少一个 VECTOR 字段(HNSW 或 FLAT),并可附加 TEXT / TAG / NUMERIC 字段。 - 写入向量:用客户端的二进制安全
HSET把 FLOAT32 小端字节写入 Hash 字段,测试用例中位于tests/e2e/。 - 执行 KNN 查询:通过
FT.SEARCH idx '*=>[KNN 10 @vec $q]' PARAMS 2 q DIALECT 2检索最近邻,完整命令与混合搜索用法见 COMMANDS.md。
适用人群
正在为 AI 应用、RAG 系统或检索增强场景寻找高性能向量与缓存一体后端的团队;需要把 Redis 迁移到多核服务器、却受限于单线程吞吐的运维与架构师;希望用 Rust 生态替换 C 栈内存数据库、并同时获得全文检索能力的开发者;以及在 AGPL 约束下不能接受 SaaS 锁定、要求完全自托管的团队。
官网链接
源码仓库:https://github.com/kividbio/kividb | 官网:https://kividb.io | 商业授权:support@kividb.io | 基准脚本:https://github.com/kividbio/kivi-benchmark | 最新版本:v1.1.0(2026 年 10 月 16 日发布)
评论与建议
登录 后参与评论或提建议