这个项目能做什么
rudb 是一个用 Rust 编写的嵌入式分析数据库,设计为 DuckDB 兼容的替代方案,具有雄心勃勃的性能和资源目标。该项目目标是 ClickBench 和 TPC-H 上达到 DuckDB 的 10 倍性能,每查询性能下限为绝不慢于 DuckDB,并将磁盘使用量、内存和 CPU 降低 10 倍。其核心设计依赖于运行时选择的物理布局、带全局字典的多列压缩,以及直接在编码数据上执行而非先解码的操作符。
当前状态处于早期:M0 已在 v0.1.0 中完成,提供了一个包含 27 个 crate 的工作区、一个内存查询引擎、一个具有十六种输出模式的 DuckDB 兼容命令行 shell,并在 Linux、macOS 和 Windows 上通过 CI。目前尚无持久化存储格式、优化器、事务,连接为嵌套循环。下一个里程碑 M1 是一个格式实验,用于在进一步构建之前衡量预期压缩比是否可实现。
该仓库包含一份详细规范,包含实现前编写的二十份文档,涵盖存储、压缩、执行、代码生成、优化、SQL 兼容性、事务、基准测试方法和测试。开发围绕十二个里程碑组织,以 issue 跟踪,其中 M3、M6 和 M10 被确定为有用的停止点。该项目采用 Apache-2.0 许可,与 DuckDB Labs 无关联;兼容性是根据已发布的格式和头文件重新实现的。
评论
0 评分人数达到10人后显示
登录后参与讨论。