经过一个月的紧张冲刺,我们非常激动地宣布:全球首款面向具身场景(Embodied AI)的 AI 原生嵌入式多模态数据库—— MoteDB,迎来了一次里程碑式的重要版本升级 v0.2.0!
MoteDB 是一款专为边缘端设备设计的嵌入式数据库,不需要单独的服务器进程,可以直接集成到你的 Rust 应用中,为家庭机器人、AR 眼镜、工业机械臂等边缘设备提供原生多模态数据支持。
本次更新聚焦真实机器人、物理世界交互与多模态数据(向量、全文、时空、键值等)的深度融合,整体性能较上一代提升 2~10 倍,部分关键场景实现数量级飞跃。无论您是具身智能研究员、机器人系统工程师,还是对高性能数据库感兴趣的 Rust 开发者,都欢迎体验这一全新成果。
- GitHub 仓库:https://github.com/motedb/motedb
- crates.io 地址:https://crates.io/crates/motedb
🚀 性能提升一览
我们在 v0.2.0 中完成了多个关键优化,以下是核心指标的测试结果:
| # | 指标 | 结果 | 提升情况 |
|---|---|---|---|
| 1 | INSERT | 294.8K ops/s, 3µs 延迟 | 极高吞吐 |
| 2 | PK Point Query | 31.1K QPS, 30µs 延迟 | 2x+ |
| 3 | Column Index Query | 14.9K QPS, 67µs | 3.4x(原 225µs) |
| 4 | Range Query | 396 QPS, 2.5ms | 7.2x(原 18ms) |
| 5 | Full Table Scan | 4.3M rows/s | 线性加速 |
| 6 | Mixed CRUD | 20.8K ops/s | 稳定高效 |
| 7 | Vector Search | 2.4K QPS, 411µs 延迟 | 3x+ |
| 8 | Full-Text Search | 45.9K QPS, 21µs | 4.5x(原 94µs) |
| 9 | Spatial Query | 997 QPS, 1ms | 接近实时 |
| 10 | WAL Recovery | 659.8K rows/s, 15ms | 快速故障恢复 |
| 11 | Prepared vs Raw | 161x 加速比(5.1M vs 31.8K QPS) | 极致优化 |
括号内“原 xx”为上一版本典型延迟/QPS。所有测试在标准云服务器(16C/64G,NVMe SSD)上完成。
🧠 为什么选择 MoteDB?
具身智能体(如人形机器人、自动驾驶车辆、智能家居中枢)需要同时处理:
- 传感器流(图像、点云、惯性数据)→ 向量嵌入检索
- 环境语义(物体、人物、位置)→ 全文 + 空间查询
- 实时状态(关节角度、电量、任务队列)→ 毫秒级读写
- 长期记忆(历史交互、轨迹日志)→ 高效压缩与恢复
MoteDB 从底层存储引擎到查询优化器,原生设计为同时理解向量、文本、时空、标量,并允许你在一次查询中自由组合:“在 10 米范围内找到所有红色物体的最近向量匹配,并按时间排序返回前 5 条”。
项目提供了五大索引类型,针对不同场景进行专门优化:
| 索引类型 | 适用场景 | 性能提升 |
|---|---|---|
| Column Index(列索引) | 等值/范围查询 | 40x |
| Vector Index(向量索引) | KNN 相似度检索 | 100x |
| Full-Text Index(全文索引) | BM25 文本检索 | 50x |
| Spatial Index(空间索引) | 地理空间查询 | 30x |
| Time Series Index(时序索引) | 时间范围查询 | 20x |
⚡ Rust 带来的硬核优势
整个数据库内核完全使用 Rust 编写,代码中 Rust 占比 100.0%。我们选择 Rust 的原因很简单:既要 C++ 级的极致性能,又要内存安全和无畏并发。具体收益包括:
- 零成本抽象:向量索引(采用 FreshDiskANN 算法与 Rerank 重排序策略)、全文索引(BM25 + 分词插件)、空间索引(R-Tree)与 B+Tree 共存于同一存储引擎,无 GC 停顿。
- 无惧数据竞争:多线程查询、写入、后台合并同时进行,绝无悬空指针或 use-after-free。
- 轻量化嵌入式:核心数据结构内存占用 < 100MB,事务吞吐量可达 10,000 TPS,批插入吞吐量高达 737,112 rows/sec(10,000 条记录),向量检索延迟 < 5ms(95% 召回率)。
- 跨平台编译:一个
--target参数即可轻松交叉编译到 ARM、RISC-V 等嵌入式架构。
我们还将数据库的客户端驱动、CLI 工具也基于 Rust 构建,从而为 RustCC 社区提供一个 端到端的高性能数据库样板。
🛠️ 核心特性一览
- 完整 SQL 支持:包含子查询、聚合函数、JOIN 和索引管理,使用熟悉的 SQL 语法完成多模态数据操作。
- MVCC 事务:完整的事务支持,包括保存点(Savepoint)和 WAL 预写日志,确保数据强一致性。
- 高性能批操作:批插入比单条插入 快 10-20 倍,适合大批量数据加载场景。
- 内存友好:极致轻量化,可在树莓派等低功耗设备上流畅运行,内存占用低至 35MB。
📦 如何获取与体验?
-
GitHub 仓库:https://github.com/motedb/motedb
-
crates.io 安装:
cargo add motedb当前版本 v0.2.0。
-
Rust 快速示例:
use motedb::{Database, Value}; fn main() -> Result<(), Box<dyn std::error::Error>> { let db = Database::open("data.mote")?; db.execute("CREATE TABLE users (id INT, name TEXT, email TEXT)")?; db.execute("INSERT INTO users VALUES (1, 'Alice', 'alice@example.com')")?; let results = db.query("SELECT * FROM users WHERE id = 1")?; Ok(()) } -
批操作示例(10-20x 性能提升):
let mut rows = Vec::new(); for i in 0..10000 { let mut row = HashMap::new(); row.insert("id".to_string(), Value::Integer(i)); row.insert("name".to_string(), Value::Text(format!("User{}", i))); rows.push(row); } let row_ids = db.batch_insert_map("users", rows)?; // 吞吐量:737,112 rows/sec -
完整文档:项目 docs 目录包含了从快速入门、安装配置、各类索引使用到性能调优的完整文档体系。
📢 致 RustCC 开发者
作为一款完全由 Rust 构建的数据库系统,我们深切受益于 Rust 社区的无私共享与严谨精神。本次 v0.2.0 发布不仅是产品迭代,更是向社区展示“Rust 能做到什么”的一个范例:从无锁数据结构到异步 I/O,从过程宏生成 SQL 解析器到基于 rayon 的并行扫描。
欢迎大家:
- Star & Watch:关注 GitHub 仓库,第一时间获取更新
- 试用反馈:在实际项目中尝试 MoteDB,提交 Issue 或 PR
- 参与贡献:项目还有很多有趣的技术挑战等待解决(存储引擎优化、更多索引算法、分布式扩展等)
立即体验,开启 AI 原生多模态数据库的新纪元!
GitHub 地址:https://github.com/motedb/motedb
crates.io:https://crates.io/crates/motedb
讨论反馈:GitHub Issues / Discussions
让具身智能拥有原生记忆,让 Rust 定义数据库未来。
(本文欢迎转发,感谢 RustCC 社区的支持!)
Ext Link: https://github.com/motedb/motedb
评论区
写评论还没有评论