事务 - BASE模式

2018-03-16
阅读 2 分钟
4.2k
事务 - BASE模式 github ACID的局限 在本地事务这篇文章里我们讲到了数据库事务必须保证ACID,在2PC这篇文章里,我们探讨了跨数据库事务是如何保证ACID的。 当数据量越来越大的时候,我们会对将大数据库拆分成若干小库,随着数据库数量越来越多,2PC(及XA)就显得有些捉襟见肘了: 性能低下,2PC协议是阻塞式的。当协调...

事务 - 2PC

2018-03-16
阅读 3 分钟
3.5k
在上一篇文章中我们介绍了本地事务,随着软件复杂度的上升,我们会需要一种可以在多个数据库之间完成事务(分布式事务)的方法,而这个方法也必须能够保证ACID。于是就出现了2PC - Two phase commit protocol。事实上2PC不仅仅适用于多数据库事务场景下使用,也适用于所有支持2PC的参与方(Participants)。

事务 - 本地事务

2018-03-16
阅读 3 分钟
5.6k
事务 - 本地事务 github 什么是本地事务(Local Transaction)?本地事务也称为数据库事务或传统事务(相对于分布式事务而言)。它的执行模式就是常见的: transaction begin insert/delete/update insert/delete/update ... transaction commit/rollback 本地事务有这么几个特征: 一次事务只连接一个支持事务的数据库(...