今天发布了 MoteDB v0.1.4 🎉
这是全球首款面向具身智能场景的 AI 原生嵌入式数据库,专为家庭机器人、AR 眼镜、工业机械臂等边缘设备设计。
核心特性
- 多模态数据支持:向量(VECTOR)、空间坐标(SPATIAL)、时序(TIMESTAMP)、文本(TEXT)统一存储
- 超低内存占用:≤ 35MB,可在树莓派上运行
- 超低查询延迟:P99 ≤ 50ms
- 高写入吞吐:≥ 200 rows/sec
- 纯 Rust 实现:零 C 依赖,编译成静态二进制
架构一览
存储层:WAL + 列式分段存储
索引层:
- Vamana 图索引(向量检索)
- R-Tree(空间查询)
- 倒排索引(全文搜索)
- B+Tree(时序范围查询)
查询层:基于成本的优化器 + Volcano 执行器
事务层:MVCC + WAL
快速上手
use motedb::{MoteDB, DBConfig};
fn main() -> Result<()> {
// 初始化 — 无需启动服务器
let db = MoteDB::open(DBConfig::default())?;
// 创建多模态表
db.execute("CREATE TABLE robot_memory (
id INTEGER PRIMARY KEY,
timestamp TIMESTAMP,
embedding VECTOR(384),
position SPATIAL,
objects TEXT[]
)")?;
// 插入数据
db.execute("INSERT INTO robot_memory VALUES (
1, NOW(),
'[0.123, 0.456, ...]',
SPATIAL(1.5, 0.8, 2.1),
['keys', 'wallet']
)")?;
// 多模态查询:查找 50cm 范围内相似的感知记忆
let rows = db.query(
"SELECT * FROM robot_memory
WHERE embedding ~= '[0.123, ...]'
AND position <-> SPATIAL(1.5, 0.8, 2.1) < 0.5"
)?;
Ok(())
}
性能对比
| 指标 | 传统方案(5个数据库) | MoteDB | 提升 |
|---|---|---|---|
| 多模态插入 | 45ms | 3ms | 15x |
| 混合查询 | 180ms | 12ms | 15x |
| 内存占用 | 420MB | 28MB | 15x |
| 冷启动时间 | 8.2s | 0.3s | 27x |
测试平台:Raspberry Pi 5
适用场景
- 家庭服务机器人:视觉记忆、物品定位
- AR 眼镜:空间锚点、虚实融合
- 工业机械臂:传感器融合、异常检测
Links
- GitHub: github.com/motedb/motedb
- 文档: docs.rs/motedb
- Crates: crates.io/crates/motedb
欢迎大家试用,有问题欢迎提 issue 或在评论区交流 🙌
Ext Link: https://github.com/motedb/motedb
1
共 0 条评论, 1 页
评论区
写评论还没有评论