Show HN: 蜂鸟 - 基于 io_uring 构建的嵌入式 OLAP 数据库

1作者: platoventure14 天前
过去一年里,我大部分时间都在构建 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&#x27;t just to &quot;make it work&quot; 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: &lt;<a href="https:&#x2F;&#x2F;github.com&#x2F;Frigatebird-db&#x2F;frigatebird" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Frigatebird-db&#x2F;frigatebird</a>&gt;