Show HN: 蜂鸟 - 基于 io_uring 构建的嵌入式 OLAP 数据库
1 分•作者: platoventure•14 天前
过去一年里,我大部分时间都在构建 Frigatebird,这是一个用 Rust 编写的高性能列式 SQL 数据库。目标不仅仅是“让它工作”,而是利用所有可用的系统编程技巧来最大化 Linux 上的吞吐量。Frigatebird 是一个从头开始构建的 OLAP 引擎。它具有自定义存储引擎 (Walrus),该引擎使用 io_uring 进行批量写入,自定义自旋锁分配器,以及基于推送的火山执行流水线。我明确避免使用异步运行时,转而采用手动线程调度和原子工作窃取,以最大限度地提高缓存局部性。
目前它仅支持单表操作(尚未支持 JOIN),很想听听您对它的看法。
代码:<https://github.com/Frigatebird-db/frigatebird>
查看原文
I’ve spent a better part of the last year building Frigatebird, a high performance columnar SQL database written in Rust. The goal wasn't just to "make it work" but to use every systems programming trick available to maximize throughput on Linux. Frigatebird is an OLAP engine built from first principles. It features a custom storage engine (Walrus) that uses io_uring for batched writes, a custom spin lock allocator, and a push based volcano execution pipeline. I explicitly avoided async runtimes in favor of manual thread scheduling and atomic work stealing to maximize cache locality.<p>currently it only supports single table operations (no JOINS yet), would love to hear your thoughts on it<p>code: <<a href="https://github.com/Frigatebird-db/frigatebird" rel="nofollow">https://github.com/Frigatebird-db/frigatebird</a>>