腾讯TDSQL分布式金融级数据库的全局读一致性技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全局读一致性---腾讯TDSQL分布式金融级数据库
面向金融类业务,十年积累,亿级账户验证
腾讯公司内与计费、充值、转账、财务等核心系统90%以上都使用TDSQL!
2002
腾讯SP业务原生MYSQL
2004
增值业务
分库分表手工
伸缩
2008
业务爆炸
一致性、
7X24可用性
2010
腾讯计费
超高并发超短
时延
2012
米大师,腾讯
充值
更名TDSQL
2015
腾讯云
金融云
2014
WeBank
私有化部署
2017
分布式
事务
2018
全时态
数据库
向上攀登
永不止步2019
全局读
一致性
分布式事务处理模型与数据异常
目录CONTENTS 业界主流数据库的解决方式TDSQL 全局读一致性的实现技术
并发操作可以被区分为四种:读-读、读-写、写-读、写-写•写-读
•写-写•读-写•读-读
无异
常
有异常有异常有异
常
读半已提交数据异常●两个数据节点Na、Nb;两个数据项X、Y
结果:账目不平
●Na节点commit完成;Nb节点commit未完成
●全局该事务处于committing状态
第1个分布式事务第2个分布式事务
分布式事务处理模型与数据异常
目录CONTENTS 业界主流数据库的解决方式TDSQL 全局读一致性的实现技术
解决方案
编号各种方案缺点案例
1全局事务管理器非去中心化、低效Pg XC
2基于封锁的并发访问控制算法+全
局可串行化低效某些系统
SS2PL+MVCC
3全局可串行化+线性一致性所有事件全序排序=>所有事务全
局排序,低效
Spanner SS2PL+MVCC
4全局可串行化+混合逻辑时钟+全局
事务提交标志数据是否可读,需要通过全局事
务提交状态验证,增加通讯次数
CockroachDB
SSI+MVCC
52次读
《Scalable atomic visibility with
ramp transactions》增加了通讯轮数,且只能解决读
半已提交数据异常
学术界的解决
方式
更多的数据异常……分布式读半已提交异常Cross 异常
Carsten Binnig, Stefan Hildenbrand, Franz Färber, Donald Kossmann,
Juchang Lee, Norman May: Distributed snapshot isolation: global
transactions pay globally, local transactions pay locally. VLDB J. 23(6):
987-1011 (2014)