arXiv · 2108.00632
Skeena: Efficient and Consistent Cross-Engine Transactions
Abstract
Database systems are becoming increasingly multi-engine. In particular, a main-memory database engine may coexist with a traditional storage-centric engine in a system to support various applications. It is desirable to allow applications to access data in both engines using cross-engine transactions. But existing systems are either only designed for single-engine accesses, or impose many restrictions by limiting cross-engine transactions to certain isolation levels and table operations. The result is inadequate cross-engine support in terms of correctness, performance and programmability. This paper describes Skeena, a holistic approach to cross-engine transactions. We propose a lightweight snapshot tracking structure and an atomic commit protocol to efficiently ensure correctness and support various isolation levels. Evaluation results show that Skeena maintains high performance for single-engine transactions and enables cross-engine transactions which can improve throughput by up to 30x by judiciously placing tables in different engines.
Explore related subjects
Keep this discovery
Jianqiu Zhang, Kaisong Huang, Tianzheng Wang, King Lv. 2021-08-02. Skeena: Efficient and Consistent Cross-Engine Transactions. https://doi.org/10.1145/3514221.3526171
Cite the original work for its findings. Save a collection to share your selection of sources.