搭建分布式数据库集群的时候,很多人都比较关心事务的问题。因为事务是数据库中非常核心的功能。
在传统的集中式数据库架构中,事务的问题非常好解决,可以完全依赖数据库本身非常成熟的事务机制来保证。但是数据库作为分布式的架构之后,很多原来在单一数据库中所完成的事务现在需要跨多个数据库主机,这样原来的单机事务就需要引入分布式事务的概念。
分布式事务本身是一个非常复杂的机制,不管是商业的大型数据库系统,还是各开源数据库系统。虽然大多数数据库厂家基本上都实现了这个功能,但或多或少地存在限制,而且存在一些Bug,可能造成某些事务不能很好的保证,或者是不能顺利地完成。