暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

重新定义高性能存储:EloqStore 核心代码开源,邀您共筑下一代存储引擎!

晨章数据 2026-01-09
86


所有的伟大,

都源于一次勇敢的开放。


今天,EloqData 团队正式宣布:

我们潜心研发三年的

EloqStore 核心代码库正式对外开源! 




我们邀请全球开发者一起,

重新定义数据的边界。


01

重磅开源!EloqStore

面向云原生的高性能存储引擎


在云原生时代,所有云数据库都想挑战“不可能三角”:极致的性能(Performance),极高的可靠性(Reliability),同时还希望保持低廉的成本(Cost)。


但传统数据库架构使用的存储方案往往顾此失彼:云盘(EBS)价格昂贵且性能有上限;对象存储(S3)便宜可靠但延迟太高。


因此想要挑战成功,能够兼顾性能、可靠性和成本的全新架构的存储引擎成为了必选项。


今天,我们要向大家介绍,并正式开源我们的核心存储引擎——EloqStore。



EloqStore是一个高性能、云原生存储引擎(Embedded Key-Value Store)。它不仅仅是 EloqKV和EloqDoc的心脏,现在,它也可以成为你下一个高性能项目的基石。


>

GitHub 传送门

https://github.com/eloqdata/eloqstore



02

What is EloqStore?


EloqStore采用了全新的计算与存储分离架构,是专为现代云环境(AWS, GCP, Azure 等)设计的存储引擎。


与RocksDB等传统LSM-Tree引擎不同,EloqStore采用了Crash-safe B+ Tree结构,并针对NVMe SSD和对象存储进行了极致优化。它旨在通过协程,异步I/O突破性能瓶颈,提供数百万级的IOPS吞吐,同时大幅降低存储成本。



03

核心特性与架构优势


根据我们的实测数据,在常见的云主机(如 16 核或 44 核实例)上,EloqStore 单节点即可达到 228 万 IOPS 的惊人吞吐量。它是如何做到的?


1

极致的云原生分层架构:

NVMe + S3

EloqStore 摒弃了对昂贵云盘(EBS)的依赖,采用了"内存 + 本地 NVMe + 对象存储"的三级存储架构:

Hot Data (内存 & NVMe)

利用云实例自带的本地 NVMe SSD(Instance Store)存储索引页(Index Pages)和热数据页(Data Pages)。本地 NVMe 提供极高的 IOPS 和极低的延迟。


Cold Data & Persistence (S3)

数据在 Checkpoint 时批量写入对象存储(如 AWS S3)。S3 提供了极高的数据持久性和低廉的存储成本。

这种设计让你以 S3 的价格,享受到 NVMe 的性能。


2

现代化的异步 I/O 模型

为了彻底榨干现代 NVMe 存储与多核 CPU 的硬件红利,EloqStore 摒弃了传统的同步阻塞架构,构建了一套纯粹的全异步设计:

线程级 Share-nothing 架构

EloqStore 采用 One Thread Per Core 模型,每个线程独立管理其内存与 I/O 资源。通过 Share-nothing 的无锁化设计,消灭了多线程高并发下的全局锁瓶颈与 Cache Line 失效,让系统吞吐随 CPU 核心数线性增长。


协程化兼顾极致性能与开发效率

我们利用轻量的协程重新定义了存储请求的处理逻辑。协程的轻量化特性使得 EloqStore 能够以极低的内存开销维护数以万计的并发任务,在保持异步非阻塞性能的同时,拥有像同步代码一样优雅、可维护的逻辑结构。


内核级异步原语

EloqStore 深度集成 Linux 最新的 io_uring 接口,通过提交队列与完成队列的异步交互,彻底告别了传统 read/write 系统调用的频繁上下文切换开销。配合单线程模型,实现了从用户态到内核态的全路径异步化,直达硬件性能巅峰。


3

稳定可控的 Crash-safe B+ Tree

虽然 LSM-Tree 在写多场景下很流行,但我们选择了 B+ Tree:

更平稳的 P99 延迟,从此不用再忍受 “抖动”
告别 LSM-Tree 难以预测的后台合并(Compaction)带来的“性能黑盒”。EloqStore 通过重构经典的 B+Tree 结构实现原地更新,从根源上消灭了因层级合并产生的随机延迟毛刺。我们要的不是跌宕起伏的“生命力”,而是极度确定的“平滑感”——在 Grafana 监控面板上,你看到的将是一条稳如磐石、令人极度安心的水平基准线。


更强大的 I/O 吞吐

传统的 B+Tree 常被误解为“慢”,本质是受限于同步阻塞 I/O。我们利用异步IO + 协程赋予了 B+Tree 第二次生命:将每一个 Page 的读取转化为非阻塞的任务调度。这使得 EloqStore 在处理海量随机读写时,能够像 LSM 一样打满磁盘带宽,却依然保留了 B+Tree 极短的查询路径。


更低的消耗
在云原生时代,资源即成本。相比 LSM-Tree 需要消耗大量 CPU 进行布隆过滤器(Bloom Filter)计算和频繁的层级扫描,B+Tree 拥有天然的结构优势。EloqStore 通过优化索引空间,显著降低了空间放大率,让每一核 CPU 都能真正用于处理业务数据,而非消耗在无效的后台治理上。


04

性能表现


在标准的 Benchmark 测试中(数据量 1T,Value 1KB),EloqStore 展现了卓越的性能:

规格

吞吐量 (Throughput)

P50 延迟

P99 延迟

16 vCPU

2.28 Million OPS

0.71 ms

2.92 ms

44 vCPU

2.28 Million OPS

0.46 ms

1.22 ms

注:测试基于 GCP Z3 实例,配备 3x3000 GB NVMe。


加入开源社区

我们相信,最好的软件只能构建于社区之上。将EloqStore开源,不仅是为了分享我们的技术成果,更是为了邀请全球开发者共同探索云原生存储的未来。


无论你是想将EloqStore集成到你的应用中,还是想深入研究B+ Tree与 io_uring的结合,亦或是想为项目贡献代码,我们都热烈欢迎!



你可以通过以下方式参与


1. Star 我们的仓库:

前往 GitHub 点击右上角的 Star,关注项目最新动态。


2. 体验与集成:

下载源码,运行 Benchmark,尝试将其作为你项目的嵌入式引擎。


3. 提交 Issue 与 PR:

发现 Bug 或有新的 Feature 想法?

欢迎提交 Issue 或直接通过 PR 贡献代码,我们为你准备了完整的roadmap和认领机制。


4. 福利机制:

凡是被采纳的有效Issue,提交者将获得“EloqStore早期观察员”电子勋章+定制工业风咖啡杯。


提出“高危/关键”Bug的开发者,直接送出机械键盘一把!


我们将从所有 Star 的用户中,随机抽取10位送出EloqData定制极客卫衣一件。


当Star数突破500/1000/2000时,我们将在粉丝群通过红包雨庆祝!


5. 联系我们: 

📧 有任何疑问,欢迎发送邮件至: contact@eloqdata.com 

💬 扫描👇二维码,加入用户沟通群(7天有效)




让我们一起,重新定义云原生时代的存储引擎!


点击 “阅读原文”直达 GitHub


文章转载自晨章数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论