Federated transaction management has long been used as a method to virtually integrate multiple databases from a transactional perspective, ensuring consistency across the databases. Modern approaches manage transactions on top of a database abstraction to achieve database agnosticism; however, these approaches face several challenges. First, managing transactions on top of a database abstraction makes performance optimization difficult because the abstraction hides away the details of underlying databases, such as database-specific capabilities. Additionally, it requires that application data and the associated transaction metadata be colocated in the same record to allow for efficient updates, necessitating a schema migration to run federated transactions on top of existing databases. This paper introduces a new concept in such database abstraction called Atomicity Unit (AU) to address these challenges. AU enables federated transaction management to aggressively pushdown database operations by making use of the knowledge about the scope within which they can perform operations atomically, fully harnessing the performance of the databases. Moreover, AU enables efficient separation of transaction metadata from application data, allowing federated transactions to run on existing databases without requiring a schema migration or significant performance degradation. In this paper, we describe AU, how AU addresses the challenges, and its implementation within ScalarDB, an open-sourced database-agnostic federated transaction manager. We also present evaluation results demonstrating that ScalarDB with AU achieves significantly better performance and efficient metadata separation.
翻译:联邦事务管理长期以来被用作从事务视角虚拟集成多个数据库的方法,以确保跨数据库的一致性。现代方法通过在数据库抽象层之上管理事务来实现数据库无关性;然而,这些方法面临若干挑战。首先,在数据库抽象层之上管理事务使得性能优化变得困难,因为抽象层隐藏了底层数据库的细节,例如数据库特定的能力。此外,它要求应用程序数据及相关事务元数据必须共置于同一记录中以实现高效更新,这需要在现有数据库之上运行联邦事务时进行模式迁移。本文在此类数据库抽象中引入了一种称为原子性单元(AU)的新概念以应对这些挑战。AU使联邦事务管理能够通过利用关于原子操作执行范围的知识,积极下推数据库操作,从而充分发挥数据库的性能潜力。此外,AU实现了事务元数据与应用程序数据的高效分离,使得联邦事务能够在现有数据库上运行,而无需模式迁移或承受显著的性能下降。本文描述了AU的概念、AU如何应对上述挑战,及其在开源数据库无关联邦事务管理器ScalarDB中的实现。我们还提供了评估结果,表明集成AU的ScalarDB实现了显著更优的性能和高效的元数据分离。