arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2108.00632cs.DB
收藏

Skeena:高效一致的跨引擎事务

Skeena: Efficient and Consistent Cross-Engine Transactions

Jianqiu Zhang, Kaisong Huang, Tianzheng Wang, King Lv

摘要:

数据库系统正变得越来越多引擎。特别地,主存储器数据库引擎可以与传统的以存储为中心的引擎在系统中共存以支持各种应用。希望允许应用程序使用跨引擎事务访问两个引擎中的数据。但是现有的系统要么只为单引擎访问设计,要么通过将跨引擎事务限制在特定的隔离级别和表操作来施加许多限制。其结果是在正确性、性能和可编程性方面的跨引擎支持不足。本文介绍了Skeena,一种跨引擎事务的整体方法。我们提出了一个轻量级的快照跟踪结构和原子提交协议,以有效地确保正确性和支持各种隔离级别。评估结果表明,Skeena保持了单引擎事务的高性能,并支持跨引擎事务,通过明智地将表放置在不同的引擎中,可以将吞吐量提高高达30倍。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑