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
Explore connections, maps & timelines
Jianqiu Zhang, Kaisong Huang, Tianzheng Wang, King Lv. 2022-06-09. 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.