< 返回版块

motedb 发表于 2026-05-16 09:21

Tags:数据库,AI,IOT,嵌入式

经过一个月的紧张冲刺,我们非常激动地宣布:全球首款面向具身场景(Embodied AI)的 AI 原生嵌入式多模态数据库—— MoteDB,迎来了一次里程碑式的重要版本升级 v0.2.0

MoteDB 是一款专为边缘端设备设计的嵌入式数据库,不需要单独的服务器进程,可以直接集成到你的 Rust 应用中,为家庭机器人、AR 眼镜、工业机械臂等边缘设备提供原生多模态数据支持。

本次更新聚焦真实机器人、物理世界交互与多模态数据(向量、全文、时空、键值等)的深度融合,整体性能较上一代提升 2~10 倍,部分关键场景实现数量级飞跃。无论您是具身智能研究员、机器人系统工程师,还是对高性能数据库感兴趣的 Rust 开发者,都欢迎体验这一全新成果。


🚀 性能提升一览

我们在 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.iohttps://crates.io/crates/motedb
讨论反馈GitHub Issues / Discussions

让具身智能拥有原生记忆,让 Rust 定义数据库未来。

(本文欢迎转发,感谢 RustCC 社区的支持!)


Ext Link: https://github.com/motedb/motedb

评论区

写评论

还没有评论

1 共 0 条评论, 1 页