Distributed Transactions for Google App Engine: Optimistic Distributed Transactions built upon Local Multi-Version Concurrency Control
大规模可扩展的Web应用程序在计算中遇到了“性能”和“正确性”之间的基本张力:性能通常通过使用大型分布式机器来解决,其中程序是多线程和可中断的,而正确性则需要确定性地维护数据不变式。解决这个问题的一个方法是“transactions”(交易)。一些分布式系统,如Google App Engine [http://code.google.com/appengine/docs/]提供事务语义,但仅用于访问数据库的一组预定义本地区域之一的函数:“本地事务”(LT)[http://code.google.com/appengine/docs/python/datastore/transactions.html]。为了解决这个问题,我们给出了一个“分布式事务”(DT)算法,该算法为在机器上分布的任何对象集上操作的函数提供事务语义。我们的算法是在一个“乐观”[http://en.wikipedia.org/wiki/Optimistic_concurrency_control]风格。我们假设本地事务具有顺序[时间-]一致性[http://en.wikipedia.org/wiki/Sequential_consistency]。
2011-06-15 cs.DB cs.DC cs.DS
Distributed Cross-Blockchain Transactions
跨多个或多个区块链的互操作性将在即将到来的基于区块链的数据管理范式中发挥关键作用。特别是,如何确保这些交易在任意数量的区块链上的ACID属性仍然是学术界和工业界的一个悬而未决的问题:现有的解决方案要么只适用于两个区块链,要么需要一个集中式组件,这两种解决方案都不符合实践中的可扩展性要求。这篇简短的论文分享了我们对可扩展的跨区块链交易的愿景和一些早期结果。具体来说,我们设计了两个分布式提交协议,并通过分析和实验,证明了它们的有效性。
2020-02-26 cs.DB cs.DC
G-Tran: Making Distributed Graph Transactions Fast
图事务处理提出了许多独特的挑战,例如由于图结构的不规则性而导致的随机数据访问、由于图事务中相对较大的读/写集合而导致的低吞吐量和高中止率。为了解决这些挑战,我们提出了G-Tran --一个支持RDMA的分布式内存图形数据库,具有可序列化和快照隔离支持。首先,我们提出了一个图形原生的数据存储,以实现良好的数据本地性和快速的数据访问的事务更新和查询。其次,G-Tran采用完全分散的架构,利用RDMA以MPP模型处理分布式事务,可以利用所有计算资源实现高性能。此外,我们提出了一个新的MV-OCC实现与两个优化,以解决大的读/写集在图形事务的问题。大量的实验表明,G-Tran实现了竞争力的性能相比,其他流行的图数据库的基准工作负载。
2021-05-11 cs.DB cs.DC
Highly Available Queue-oriented Speculative Transaction Processing
近年来,确定性数据库系统越来越受到数据库研究界的关注。尽管它们当前的局限性,但是分布式确定性事务处理系统的最近提议展示了相对于使用传统事务处理技术的系统的显著改进(例如,两阶段锁定或具有两阶段提交的乐观并发控制)。但是,在确定性分布式事务处理系统中保证高可用性的问题受到研究界的关注较少,这方面也没有得到很好的分析和评价。本文提出了一个通用的框架来模拟确定性事务处理系统中的复制过程,并用它来研究三种情况。我们设计并实现了QR-Store,一个面向服务器的复制事务处理系统,并在YCSB的事务版本的基础上对它进行了广泛的评估。我们的原型实现QR-Store可以在200毫秒内实现每秒190万个复制事务的吞吐量,与非复制配置相比,复制开销为8%-25%。
2021-07-23 cs.DB
Lion: Minimizing Distributed Transactions through Adaptive Replica Provision (Extended Version)
Lion通过自适应副本供给和LSTM预测,将多数分布式事务转为单节点处理,避免迁移阻塞和超级节点瓶颈,实现高达2.7倍吞吐量和76.4%可扩展性提升。
2024-03-17 cs.DB cs.DC
Distributed Nonblocking Commit Protocols for Many-Party Cross-Blockchain Transactions
跨多个区块链的互操作性将在未来基于区块链的数据管理范式中发挥关键作用。现有的技术要么只适用于两个区块链,要么需要一个集中式组件来管理跨区块链交易的执行,这两种技术都不符合可扩展性要求。本文提出了一种新的分布式提交协议,即\textit{cross-blockchain transaction}(CBT),用于在没有任何集中组件的情况下跨任意数量的区块链进行交易。CBT的核心思想是通过心跳机制扩展两阶段提交协议,以确保CBT的活性,而无需引入额外的节点或区块链。我们已经实现了CBT,并将其与最先进的协议进行了比较,证明了CBT的低开销(两个区块链之间的开销为3.6%,在32个或更多区块链中小于$1\%$)和高可扩展性(最多64个区块链交易的线性可扩展性)。此外,我们还为用户开发了一个图形用户界面,以虚拟地监控跨区块链交易的状态。
2020-01-05 cs.DB cs.DC
Highly Available Transactions: Virtues and Limitations (Extended Version)
为了最小化网络延迟并在服务器故障和网络分区期间保持在线,许多现代分布式数据存储系统避开事务功能,事务功能为多个数据项上的多个操作的组提供强语义保证。在这项工作中,我们考虑的问题,提供高可用性事务(HAT):事务保证不遭受系统分区期间的不可用性或招致高网络延迟。我们介绍了一个高可用性系统的分类,并分析现有的ACID隔离和分布式数据一致性保证,以确定哪些可以和不可以在HAT系统中实现。这统一了关于弱事务隔离、副本一致性和高可用系统的文献。我们分析和实验量化HAT的可用性和性能优势-通常是两到三个数量级的广域网-并讨论其必要的语义妥协。
2013-10-07 cs.DB
STAR: Scaling Transactions through Asymmetric Replication
在本文中,我们提出了STAR,一个新的分布式内存数据库与非对称复制。通过对某些副本采用单节点非分区架构,对其他副本采用分区架构,STAR能够有效地运行高度可分区的工作负载和涉及跨分区事务的工作负载。其核心思想是一种新的阶段切换算法,其中单分区和跨分区事务的执行是分开的。在分区阶段,单分区事务在多台机器上并行运行,以利用更多的并发性。在单主阶段,整个数据库的主控权被切换到单个指定的主节点,该节点可以执行这些事务,而无需使用昂贵的协调协议,如两阶段提交。因为主节点拥有数据库的完整副本,所以这种阶段切换的成本可以忽略不计。我们在两个流行的基准测试(YCSB和TPC-C)的实验表明,通过复制的高可用性可以与分布式内存数据库中的快速可串行化事务执行共存,STAR优于采用传统的并发控制和复制算法的系统高达一个数量级。
2019-07-21 cs.DB
Extending Polaris to Support Transactions
本文扩展云原生分布式框架 Polaris,在只读分析处理基础上利用不可变数据文件和 SQL Server 事务机制,为 Microsoft Fabric 的 T-SQL 提供快照隔离下的通用事务支持。
2024-01-20 cs.DB
Adaptive Logging for Distributed In-memory Databases
一种新类型的日志,命令日志,正在被用来取代传统的数据日志(例如,ARIES日志)中的数据。命令日志只跟踪正在执行的事务,而不是记录元组是如何更新的,从而有效地减少了日志的大小并提高了性能。另一方面,命令日志记录增加了恢复的成本,因为在最后一个检查点之后的日志中的所有事务都必须在失败的情况下完全重做。在本文中,我们首先扩展的命令日志记录技术的分布式环境中,所有的节点可以并行执行恢复。然后,我们提出了一个自适应的日志记录方法相结合的数据记录和命令记录。数据日志记录与命令日志记录的百分比成为事务处理和恢复性能之间的优化,以适应不同的OLTP应用程序。我们的实验研究比较了我们提出的自适应日志记录,ARIES风格的数据记录和命令日志记录的H-Store顶部的性能。结果表明,自适应日志记录可以实现10倍的恢复提升,并且事务吞吐量与命令日志记录相当。
2015-04-27 cs.DB
Minuet: A Scalable Distributed Multiversion B-Tree
传统上,数据管理系统被设计为支持长时间运行的分析查询或短时间的事务,但越来越多的应用程序需要两者。例如,在线游戏、社交移动应用和电子商务网站不仅需要维护运行状态,还需要快速分析数据,以做出预测和建议,从而改善用户体验。在本文中,我们提出了Minuet,一个分布式的,主存B树,支持事务和写时复制快照的原位分析。Minuet使用主存存储来实现低延迟的事务操作以及分析查询,而不会影响事务性能。除了支持快照上的只读分析查询外,Minuet还支持可写克隆,以便用户可以创建数据的分支版本。此功能可能非常有用,例如支持复杂的“假设”分析或促进广域复制。我们的实验表明,Minuet优于商业主存数据库在许多方面。它可以扩展到数百个内核和TB的内存,每秒可以处理数十万个B树操作,同时执行长时间运行的扫描。
2012-05-30 cs.DB
Fault-Tolerant Partial Replication in Large-Scale Database Systems
我们研究了一种分散的方法,在一个复制的数据库中提交事务,部分复制。以前的协议要么完全重新执行事务,要么计算事务的总顺序。相比之下,我们的应用更新值,并且只订购冲突的事务。这使得事务执行得更快,并且分布式数据库在小的委员会中提交。随着数据库和事务数量的增加,这两种效果都有助于保持可伸缩性。我们的算法确保可串行化,是活的和安全的,尽管故障。
2009-03-31 cs.DB
Odysseus/DFS: Integration of DBMS and Distributed File System for Transaction Processing of Big Data
关系数据库管理系统(RDBMS)由于支持O/S文件系统中不存在的SQL、模式、索引和事务等各种高级功能而得到广泛使用。但是,最近大数据技术的出现促进了牺牲DBMS功能以有效管理大规模数据的新系统的开发。这些所谓的NoSQL系统使用分布式文件系统,支持可伸缩性和可靠性。它们通过将数据存储到大量低成本商品硬件中来支持系统的可扩展性,并通过将数据存储在副本中来支持可靠性。然而,它们有一个缺点,即它们不能充分支持高级DBMS功能。在本文中,我们提出了一个体系结构的DBMS,使用DFS作为存储。通过这种新的体系结构,DBMS能够支持DFS的可扩展性和可靠性以及DBMS的高级功能。因此,DBMS可以利用DFS提供的几乎无限的存储空间,使其适用于大数据分析。作为DBMS体系结构的一部分,我们提出了Meta DFS文件的概念,它允许DBMS使用DFS作为存储,以及一个有效的事务管理方法,包括恢复和并发控制。我们在Odysseus/DFS中实现了这种体系结构,Odysseus关系数据库管理系统的集成,已经在KAIST开发了24年多,与DFS。我们对事务处理的实验表明,由于Odysseus/DFS的高级功能,它优于Hbase,这是一个代表性的开源NoSQL系统。我们还表明,与具有本地存储的RDBMS相比,Odysseus/DFS的性能相当或略有下降,表明Odysseus/DFS通过使用DFS作为存储来…
2014-06-02 cs.DB
A Byzantine Fault Tolerant Distributed Commit Protocol
在本文中,我们提出了一个拜占庭容错分布式提交协议的事务运行在不可信的网络。传统的两阶段提交协议通过复制协调器和在协调器副本之间运行拜占庭协议算法来增强。我们的协议可以容忍拜占庭故障的协调副本和一个子集的恶意故障的参与者。一个决策证书,其中包括一组注册记录和一组投票的参与者,是用来促进协调副本,以达到拜占庭协议的结果,每一个交易。该证书还限制了错误副本可以用于非原子终止事务或语义上不正确的事务结果的方式。
2007-08-01 cs.DB cs.DC
GaussDB-Global: A Geographically Distributed Database System
本文提出 GaussDB-Global,通过同步时钟的可切换事务管理及异步副本强一致读取,降低跨地域 OLTP 延迟,实验显示读取吞吐量最高提升 14 倍、TPC-C 提升 50%。
2025-01-09 cs.DB
Exploiting Locality in Lease-Based Replicated Transactional Memory via Task Migration
我们提出了Lilac-TM,第一个本地感知的分布式软件传输内存(DSTM)的实现。Lilac-TM是一个完全分散的基于租赁的复制DSTM。它采用了一种新颖的自优化租赁循环方案,该方案基于动态确定是否将事务迁移到拥有其验证所需的租赁的节点,或者要求发起事务的节点获取这些租赁的思想。我们的实验评估表明,Lilac-TM为分布式工作负载提供了显着的性能增益,表现出数据本地性,而通常不会产生非数据本地工作负载的开销。
2013-08-09 cs.DB cs.DC
Towards Transaction as a Service
本文提出将事务处理从云原生数据库中解耦为独立服务(TaaS),构建执行-事务-存储三层架构,以实现独立扩展、升级,并增强AP引擎的ACID能力、支持多主分布式与多模型事务,提升性能。
2023-11-14 cs.DB
Ira: Efficient Transaction Replay for Distributed Systems
Visa Research(Visa 研究院)
Ira通过在事务批次中传输紧凑的提示来加速备份回放,利用主节点已执行事务的知识优化回放效率,提升了Ethereum区块执行的缓存管理。
2026-08-05 cs.DB cs.DC
Tiga: Accelerating Geo-Distributed Transactions with Synchronized Clocks [Technical Report]
本研究提出面向地理复制事务数据库的Tiga设计,通过同步时钟主动分配未来时间戳合并并发控制与共识,多数场景1次广域往返即可提交事务,性能显著优于现有方案且已开源。
2025-09-06 cs.DB cs.DC cs.NI
Affinity-based XML Fragmentation
在本文中,我们解决了高度分布式数据库的碎片问题。在这样的环境中,合适的分段策略可以通过最小化分布式事务来提供可伸缩性和可用性。我们提出了一种XML碎片的方法,作为输入的应用程序的预期工作量和存储阈值,并产生作为输出的XML碎片模式。我们的工作负载感知方法旨在通过将相关数据打包到一小部分片段中来最大限度地减少分布式事务的执行。我们目前的实验比较替代碎片模式,表明我们的技术产生的一个提供了更细粒度的结果和更好的系统吞吐量。
2013-04-24 cs.DB
ParBlockchain: Leveraging Transaction Parallelism in Permissioned Blockchain Systems
许多现有的区块链不能充分解决分布式系统应用程序的所有特征,并且受到严重的架构限制,导致性能和机密性问题。虽然最近的许可区块链系统试图克服这些限制,但它们的重点主要是无争用的工作负载,即,没有冲突的交易。在本文中,我们介绍了OXII,这是一种新的许可区块链范式,用于支持并发执行的分布式应用程序。OXII专为具有(不同程度)争用的工作负载而设计。然后,我们介绍了ParBlockchain,一个专门在OXII范式中设计的许可区块链。使用一系列基准测试对ParBlockchain进行的评估表明,它在任何竞争程度的工作负载中的性能都优于最先进的许可区块链系统。
2019-02-04 cs.DB cs.DC
FLAC: A Robust Failure-Aware Atomic Commit Protocol for Distributed Transactions
National University of Singapore(新加坡国立大学);Beijing Institute of Technology(北京理工大学);Zhejiang University(浙江大学)
在分布式事务处理中,原子提交协议(ACP)被用来保证数据库的一致性。随着商用计算节点和网络的使用,诸如系统崩溃和网络分区之类的故障是常见的。因此,重要的是ACP动态地适应操作条件以提高效率,同时确保数据库的一致性。现有的ACP通常假设稳定的操作条件,因此,它们要么不可推广到不同的环境,要么在实践中很慢。在本文中,我们提出了一种新颖而实用的ACP,称为故障感知原子提交(FLAC)。本质上,FLAC包括三个协议,它们是专门为三种不同的环境设计的:(i)没有故障发生,(ii)参与节点可能崩溃,但没有延迟连接,或(iii)崩溃的节点和延迟连接都可能发生。它将这些环境建模为无故障、崩溃故障和网络故障鲁棒性级别。在其操作期间,FLAC可以监控是否发生任何故障,并使用鲁棒性级别状态机动态切换以操作最合适的协议,该状态机的参数通过强化学习进行微调。因此,它提高了响应时间和吞吐量,并有效地处理分布在Internet上可能发生崩溃和网络故障的节点。我们在一个基于GooglePercolator的分布式事务键值存储系统中实现了FLAC,并通过实际工作负载的微观基准测试和宏观基准测试对其性能进行了评估。结果表明,与现有的ACP相比,FLAC实现了高达2.22倍的吞吐量提高和2.82倍的延迟加速。
2023-03-02 cs.AI cs.DB cs.DC
Nebula Graph: An open source distributed graph database
本文介绍了Nebula Graph的最新工作,Nebula Graph是一个开源的、分布式的、可扩展的、原生的图形数据库。我们提出了一个系统设计的权衡和星云图内部的全面概述,包括图形数据模型,分区策略,二级索引,优化器规则,存储端事务,图形查询语言,可观察性,图形处理框架和可视化工具包。此外,还建立了三组大规模图b
2022-06-15 cs.DB
Queues Are Databases
面向消息的中间件(Message-Oriented-Middleware,缩写为MMS)已经成为一个小产业。作为对纯客户机-服务器事务处理的一种改进,IBM提供了排队事务处理。这一注释提出了四点:嵌入式事务处理不如直接事务处理通用。嵌入式系统建立在直接系统之上。你不能在排队系统上建立一个直接系统。很难在排队系统上构建直接的、会话式的或分布式的事务。数据库是具有有趣的并发控制的有趣的数据库。最好将这些机制构建到标准数据库系统中,以便其他应用程序可以使用这些有趣的功能。队列系统需要DBMS功能。企业需要安全、配置、性能监视、恢复和重组实用程序。数据库系统已经具有这些特性。一个全功能的数据库系统复制了这些数据库功能。队列管理器是简单的TP监视器,管理由队列驱动的服务器池。随着数据库系统向TP-lite系统的发展,它们包含了许多服务器池功能。
2007-01-25 cs.DB
Democratizing Scalable Cloud Applications: Transactional Stateful Functions on Streaming Dataflows
本论文提出Stateflow和Styx,通过事务性状态函数模型和分布式流引擎,解决云应用开发中的可编程性、高性能事务和弹性问题,实现更普及的云应用开发。
2025-12-19 cs.DB cs.DC
SSS: Scalable Key-Value Store with External Consistent and Abort-free Read-only Transactions
我们提出了SSS,一个可扩展的事务键值存储部署了一种新的分布式并发控制,提供外部一致性的所有事务,从来没有中止只读事务,由于并发,所有没有专门的硬件。SSS确保了上述属性,而无需任何集中的同步源。SSS的并发控制使用向量时钟和一种称为快照队列的新技术的组合来建立与客户端观察到的事务完成顺序相匹配的单个事务串行化顺序。我们将SSS与高性能键值存储、Walter、ROCOCO和两阶段提交基线进行比较。使用20个节点,SSS的性能比2 PC基线高出7倍;使用15个节点,ROCOCO的性能比长只读事务高出2.2倍。
2019-01-11 cs.DB cs.DC
Consistent Checkpointing in Distributed Databases: Towards a Formal Approach
无论是为了审计还是为了恢复,数据检查点都是分布式数据库系统的一个重要问题。实际上,事务在数据对象管理器采取的数据检查点上建立依赖关系。因此,给定任意一组数据检查点(至少包括来自数据管理器的单个数据检查点,最多包括来自每个数据管理器的数据检查点),一个重要的问题是:“这些数据检查点可以是同一个一致的全局检查点的成员吗?”''.本文通过给出一个适合于数据库系统的充要条件来回答这个问题。此外,为了证明该条件的有效性,从该条件中推导出了两个{ \em非侵入式}数据检查点协议。还值得注意的是,本文通过展示"对应关系“,在数据对象/事务模型和过程/消息传递模型之间建立了一座桥梁。
1999-10-22 cs.DB cs.DC
Transactions Make Debugging Easy
我们提出了TROD,一种新型的面向事务的框架,用于调试现代分布式Web应用程序和在线服务。我们的关键见解是,如果应用程序将所有状态存储在数据库中,并且仅以事务方式访问状态,则TROD可以使用轻量级的始终在线跟踪来跟踪应用程序状态更改和数据来源的历史,然后利用捕获的跟踪和事务日志忠实地重放甚至追溯任何过去事件的修改代码。我们演示了如何TROD可以简化生产应用程序中的编程和调试,列出几个研究挑战和方向,并鼓励数据库和系统社区彻底重新思考人们开发和调试应用程序的方式之间的协同作用。
2022-12-29 cs.DB cs.DC cs.SE
Access Control for Distributed Ledgers in the Internet of Things: A Networking Approach
在物联网(IoT)领域,设备需要一个平台来无缝地进行交易,而无需可信的中介。尽管分布式账本技术(DLT)可以提供这样一个平台,但比特币等区块链的设计并没有考虑到物联网网络,因此通常不适合此类应用:它们提供的交易吞吐量和确认时间很差,对有限的计算和存储资源造成压力,并且需要高昂的交易费用。在这项工作中,我们考虑了一类基于有向无环图而不是区块链的物联网友好DLT,并且在工作量证明(PoW)的位置上使用信誉系统。然而,如果没有PoW,这些DLT的实现需要一个访问控制算法来管理节点向账本添加新交易的速度。我们的访问控制问题的模型,并提出了一个算法,是公平的,有效的和安全的。我们的算法代表了DLT的一种新的设计范式,其中网络概念首次应用于DLT设置。例如,我们的算法使用分布式速率设置,这是类似的性质,在互联网中使用的传输控制。然而,我们的解决方案具有新颖的适应性,以应对DLT的对抗性环境,在这种环境中,没有一个代理可以信任。我们的算法保证了资源的利用率,一致性,公平性和对攻击者的弹性。所有这些都是有效实现的,并且考虑到物联网设备的限制。我们进行了大量的模拟来验证这些说法。
2021-07-14 cs.DB cs.NI
Epoch-based Optimistic Concurrency Control in Geo-replicated Databases
University of Toronto(多伦多大学);Keio University(庆应义塾大学);Concordia University(康考迪亚大学)
本文提出 Minerva 系统,通过 epoch 基异步复制协议和冲突图算法,实现高并发可扩展的地理复制数据库,提升吞吐量和性能。
2026-03-16 cs.DB cs.DC
Transactional Properties of Permissioned Blockchains
传统的分布式事务处理(TP)系统(如复制数据库)由于所需的相互信任水平而难以广泛应用于企业集成场景。具有讽刺意味的是,公共区块链承诺解决协作过程中的相互信任问题,但却存在可扩展性、概率交易终结性和缺乏数据保密性等问题。为了解决这些问题,引入了许可区块链作为一种替代方法,结合了两个世界的优点并避免了它们的缺点。然而,没有足够的分析来强调他们在TP方面的实际能力。在本文中,我们确定了一组合适的TP标准来分析许可区块链,并将其应用于这些系统中的一组突出系统。最后,我们比较所得到的性质,并提供一般性的结论。
2019-08-28 cs.DB cs.DC
Blockchains vs. Distributed Databases: Dichotomy and Fusion
区块链已经走过了漫长的道路:最初专门为加密货币提出的系统现在正在被改编和采用为通用交易系统。随着区块链演变成另一种数据管理系统,自然的问题是它与分布式数据库系统相比如何。现有的比较工作集中在高级别的属性,如安全性和吞吐量。他们没有展示底层的设计选择如何导致整体差异。我们的工作填补了这一重要空白,并为分析区块链-数据库融合的新兴趋势提供了一个原则性框架。我们将区块链和分布式数据库系统作为两种类型的交易系统进行了孪生研究。我们提出了一个分类法,说明了四个方面的二分法,即复制,并发,存储和分片。在每个维度中,我们讨论了设计选择如何受到两个目标的驱动:区块链的安全性和分布式数据库的性能。为了揭示不同设计选择对整体性能的影响,我们对两个区块链(即Quorum和Hyperledger Fabric)以及两个分布式数据库(即TiDB和etcd)进行了深入的性能分析。最后,我们提出了一个框架,用于区块链-数据库混合体的信封后性能预测。
2021-01-15 cs.DB cs.PF
Pushing the Limit: Verified Performance-Optimal Causally-Consistent Database Transactions
本文提出Eiger-PORT+并发控制协议,实现强因果一致性TCCv,证明其性能最优读事务,驳斥开放猜想,并首次演绎验证复杂协议,性能优于现有方法。
2025-01-23 cs.DB cs.DC cs.FL