About this project
rudb is an embedded analytical database written in Rust, designed as a DuckDB-compatible alternative with ambitious performance and resource goals. The project targets 10x DuckDB on ClickBench and TPC-H, a per-query floor of never being slower than DuckDB, and 10x reductions in disk usage, memory, and CPU. Its core design bets on runtime-chosen physical layouts, multi-column compression with global dictionaries, and operators that execute directly on encoded data rather than decoding first.
The current state is early: M0 is complete as of v0.1.0, providing a workspace with 27 crates, an in-memory query engine, a DuckDB-compatible command-line shell with sixteen output modes, and CI passing on Linux, macOS, and Windows. There is no persistent storage format yet, no optimizer, no transactions, and joins are nested loops. The next milestone, M1, is a format experiment to measure whether the projected compression ratios are achievable before building further.
The repository includes a detailed specification of twenty documents written before implementation, covering storage, compression, execution, code generation, optimization, SQL compatibility, transactions, benchmarking methodology, and testing. Development is organized around twelve milestones tracked as issues, with M3, M6, and M10 identified as useful stopping points. The project is licensed under Apache-2.0 and is not affiliated with DuckDB Labs; compatibility is reimplemented against published formats and headers.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.