CoroBase:面向协程的主存数据库引擎
数据库
2020-11-02 v1
摘要
由于使用指针密集的数据结构,数据停顿是主存数据库引擎中的主要开销。轻量级协程简化了软件预取的实现,通过重叠计算和异步数据预取来隐藏数据停顿。然而,先前的解决方案主要关注(1)单独的组件和操作以及(2)需要接口更改、破坏向后兼容性的事务内批处理。目前尚不清楚它们如何应用于完整的数据库引擎,以及在各种工作负载下能带来多少端到端收益。本文提出 \corobase,一种通过新的协程到事务范式应对这些挑战的主存数据库引擎。协程到事务将事务建模为协程,从而实现事务间批处理,避免应用程序更改,同时保留预取的优势。我们表明,在 48 核服务器上,CoroBase 在读密集型工作负载下性能接近提升 2 倍,并且在本质上无法从软件预取中受益的工作负载下仍具竞争力。
引用
@article{arxiv.2010.15981,
title = {CoroBase: Coroutine-Oriented Main-Memory Database Engine},
author = {Yongjun He and Jiacheng Lu and Tianzheng Wang},
journal= {arXiv preprint arXiv:2010.15981},
year = {2020}
}
备注
To appear in VLDB 2021