虽然分布式数据库能解决性能难题,但事务一致性()的问题,却很难在分布式数据库上得到解决。
分布式事务老大难题,数据一致难以实现
众所周知,一个事务所做的更新,分布式数据库系统内部多个独立的数据节点完成(每个节点的本地事务是这个全局事务的一个事务分支),在这样一个全局事务提交期间,有可能某些事务分支无法成功提交。
针对这一问题,虽然业内早已存在理论解决方案——二阶段提交协议简称,并延伸出分布式事务(简称)的解决方案。但业内却少有工程化实现且大规模应用的案例。而腾讯云分布式数据库,却已在内部业务中应用多年。
(图:二阶段提交算法)目前已应用在腾讯内部以上的交易,计费业务,并且三一重工(树根互联),汇通天下(),阅文集团(起点创世中文网等),微众银行,和泰人寿,威富通等都在该产品。
腾讯云首发分布式数据库 ,支持
腾讯云分布式数据库,是基于腾讯金融级数据库(公司内部代号)云化改造而来的兼容协议的分布式数据库。现如今,腾讯云已经正式在分支协议上支持分布式事务,并已在腾讯云公有云,金融云发布供开发者使用。开发者可以通过申请实例,并在初始化后,连接实例运行如下进行初始化:
xa初始化;
为更好的支持分布式事务,还新增了命令:
以为例,可以对转账业务进行如下编码:
1)