Although an increasing number of databases now embrace shared-storage architectures, current storage-disaggregated systems have yet to strike an optimal balance between cost and performance. In high-concurrency read/write scenarios, B+-tree-based shared storage struggles to efficiently absorb frequent in-place updates. Existing LSM-tree-backed disaggregated storage designs are hindered by the intricate implementation of cross-node shared-log mechanisms, where no satisfactory solution yet exists. This paper presents OceanBase Bacchus, an LSM-tree architecture tailored for object storage provided by cloud vendors. The system sustains high-performance reads and writes while rendering compute nodes stateless through shared service-oriented PALF (Paxos-backed Append-only Log File system) logging and asynchronous background services. We employ a Shared Block Cache Service to flexibly utilize cache resources. Our design places log synchronization into a shared service, providing a novel solution for log sharing in storage-compute-separated databases. The architecture decouples functionality across modules, enabling elastic scaling where compute, cache, and storage resources can be resized rapidly and independently. Through experimental evaluation using multiple benchmark tests, including SysBench and TPC-H, we confirm that OceanBase Bacchus achieves performance comparable to or superior to that of HBase in OLTP scenarios and significantly outperforms StarRocks in OLAP workloads. Leveraging Bacchus's support for multi-cloud deployment and consistent performance, we not only retain high availability and competitive performance but also achieve substantial reductions in storage costs by 59% in OLTP scenarios and 89% in OLAP scenarios.
翻译:尽管越来越多的数据库开始采用共享存储架构,但当前存算分离系统尚未在成本与性能之间达到最优平衡。在高并发读写场景下,基于B+树的共享存储难以有效吸收频繁的原位更新。现有基于LSM树的存算分离存储设计受限于跨节点共享日志机制的复杂实现,目前尚无令人满意的解决方案。本文提出OceanBase Bacchus,一种专为云服务商提供的对象存储设计的LSM树架构。该系统通过共享服务化的PALF(基于Paxos的仅追加日志文件系统)日志记录与异步后台服务,在维持高性能读写的同时实现计算节点的无状态化。我们采用共享块缓存服务以灵活利用缓存资源。本设计将日志同步功能置于共享服务中,为存算分离数据库的日志共享问题提供了创新解决方案。该架构实现了模块间的功能解耦,支持计算、缓存与存储资源能够快速独立弹性伸缩的弹性扩展能力。通过SysBench、TPC-H等多基准测试的实验评估,我们证实OceanBase Bacchus在OLTP场景中达到或超越HBase的性能水平,在OLAP工作负载中显著优于StarRocks。依托Bacchus对多云部署与稳定性能的支持,我们不仅保持了高可用性与有竞争力的性能,更在OLTP场景中实现存储成本降低59%,在OLAP场景中降低89%。