版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于HLC的分布式事务技术架构技术创新 变革未来分布式事务关键技术点时钟方案分布式事务管理单节点的优化新硬件的使用隔离级别支持 和演进技术节点内并发处理数据库为什么需要时钟:为事务排序通过事务对外提供数据相关噪作的ACID数据库对事务顺序的标识决定事务的原子性和隔离 性(A和I)时钟 日志LSN,事务ID,时间戳数据库为什么需要时钟 支持MVCC许多商业和开顽数据库产品都支持MVCCMVCC通过支持数据的多版本I允许读写相同数据可以并发I在读多写少的场 景下极大提升性能数据的多版本需要对数据进行时钟标识分布式数据库下的时钟单机数据库 日志LSN或服务器的时钟分布式数据库 数据库实例运作在多台服
2、务器上每个数据库实例有独立的时钟或日志(LSN),不能反映全局的顺 序,比如服务器间有时钟偏移。解决方案 引入类似单机系统的中心时钟Lamport 时中 (LC)分布式时中 每个实例本地维护1单调递增counterCounter递增 本地事件发生时, 收到其它实例的消息时LC决定事件的happen-before关系1比如A11B2和C3# event is known time = time + 1;# event happens send(message, time);#receiving a message(message, time_stamp) = receive(); time =
3、max(time_stamp, time) + 1;混合逻辑时钟(HLC)Initial l.j := 0; c.j :=0Send or local event l.j := l.j;l.j := max(l.j, pt.j);IF (l.j = l.j) THEN c.j := c.j + 1ELSE c.j := 0;Timestmap with l.j, c.jHLCl.j和j节点有通讯的所有节点的时间戳的最大值Logic Timec.j随因果事件发生而递增物理时间pt.j机器wall timeReceive event of message m l.j := l.j;l.j := m
4、ax(l.j, l.m, pt.j);IF (l.j = l.j = l.m) THEN c.j :=max(c.j, c.m) + 1 ELSEIF (l.j = l.j) THEN c.j:= c.j + 1ELSEIF (l.j = l.m) THEN c.j:= c.m + 1 ELSE c.j := 0Timestamp with l.j, c.j当物理时钟推进时, 逻辑时钟部分被置零HLC记录事件的因果关系,保证和物理时钟的偏差是boundedHLC和中心时钟的差别中心时钟(TSO) 为所有事务排序分布式数据库中的HLC 为具备数据库定义的因果关系的事务排序因果关系(happen
5、before) 个事务在另外个事务开始前已经提交!并且它们访问了或发生在相同的节点TSOT1T2T1T3T3T4数据库节点1数据库节点2递增时间戳T1,T2,T4的提交时间 t1 t2 t4T1T2T3T3T4数据库节点1数据库节点2T1,T2,T3的提交时间 th1 th2 th1 prepare_timestamp1000T4已获取候选版本号102,小于1000,需要等待。 最终提交时,提交版本号为10001000,不读取。同一事务, 保证一致HLC service: 1000T1 Context:(key1, v2)HLC service: 103T2 Context:T3 Contex
6、t:(key2, v2)(key3, v3)T4 Context:(key4, v4)T2 :xid2 commit_ts:101T4:xid4 prepare_ts:102T3:xid3 N/AT3 Context:(key30, v30)T4 Context:(key40, v4)T3:xid2 prepare_ts:998T4:xid4 N/ATable t1 Key30(xid2) v30 Key40(1000) v40update to 1000Read tableread with snapshot 1000Try update No need事务表事务表HLC时钟偏移的问题HLC
7、和peak TPS的关系最大TPS=logical counter的最大值/单事务刷新HLC次数/物理时钟部分的最小单元或时钟偏移没有时钟偏移的情况 Peak TPS = 216 / 2 / 0.001 = 3 干万时钟偏移 5ms Peak TPS = 216 / 2 / 0.005 = 6百万时钟偏移将导致peak TPS的大幅下降解决方案设定最大允许时钟偏移如果有节点的时钟偏移大于最大值 强制下线时钟偏移大的节点 (或switchover到备机)不让数据库实例在节点上启动允许logic counter overflow到物理时钟部分其他问题超时异常和故障节点宕机,本地恢复参与者宕机恢复协调者宕机恢复多副本下的协调者节点高可用切换到参与者的新主异
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版美团骑手个人信息保护及隐私权合同4篇
- 2025年度虚拟货币代持协议模板4篇
- 2025年度绿色环保型土石方工程承包合同协议2篇
- 2025年度文化产品出口销售合同(含版权保护)4篇
- 2025年度物流仓储管理承运商合作协议范本4篇
- 二零二五年度网红餐饮店品牌授权合同4篇
- 曹县建筑加固施工方案
- 2025年度校园食堂厨师临时用工服务合同范本4篇
- 二零二五版建筑门窗安装与节能减排服务协议4篇
- 基于2025年度的供应合同标的、供应数量与质量标准3篇
- 2024年湖北省武汉市中考英语真题(含解析)
- DLT 261《火力发电厂热工自动化系统可靠性评估技术导则》题库
- 自动化立体库货架验收报告
- 消防系统工程质量控制资料检查记录
- 中药封包疗法操作规范
- TPO27听力题目及答案
- 新浪网删贴申请文档 (个人)
- 低温乙烯罐内罐预冷过程温度急降原因探讨
- 世界各国电压频率一览表(精编版)
- (完整版)装饰装修工程监理细则(详解)最新(精华版)
- 一条小路通罗马攻略
评论
0/150
提交评论