当前位置: 首页 > news >正文

苏州网站建设搜王道下拉珠海网站制作定制

苏州网站建设搜王道下拉,珠海网站制作定制,东莞有哪些互联网公司,长沙百家号seo注:本文章引自终于把分布式事务讲明白了! 在前面的文章中,我们了解了单机库中的事务一致性实现以及分布式事务中的两阶段提交协议。大多数分布式系统都是采用了两阶段提交塄来保证事务的原子性,Greenplum也是采用了两阶段提交&am…

注:本文章引自终于把分布式事务讲明白了!

在前面的文章中,我们了解了单机库中的事务一致性实现以及分布式事务中的两阶段提交协议。大多数分布式系统都是采用了两阶段提交塄来保证事务的原子性,Greenplum也是采用了两阶段提交,Greenplum的两阶段提交是基于PostgreSQL的基础上实现的。

PostgreSQL的两阶段提交

虽然PostgreSQL是集中式数据库,但是它实现了对两阶段提交协议的支持。PG主要通过PREPARE TRANSACTION、COMMIT TRANSACTION、ROLLBACK PREPARED命令实现对两阶段提交协议的支持。
PREPARE TRANSACTION对应两阶段中的第一阶段,COMMIT/ROLLBACK PREPARED对应两阶段中的第二阶段。
在这里插入图片描述
注:参与者prepare时,会将日志落盘,释放一些资源,但不会释放申请的锁。在PG中,执行完PREPARE后如果把数据库停掉再启动,会发现pg_locks中会残留prepared的事务,这是因为在执行prepare的时候,PG会把事务的lock信息作为prepare日志记录的一部分记录在日志文件(xlog)中,当数据库启动后会读这个日志文件把锁还原到pg_lock表里面。在Greenplum中如果QE在prepare后发生崩溃,QD会在函数doNotifyingCommitPrepared里面重试,QE恢复prepare事务的逻辑与上述PG的步骤类似。
Greenplum在PG的事务基础上实现的分布式事务,具体实现的功能如下图。
在这里插入图片描述
然后我们看一下Greenplum中分布式事务的信息是怎样在QE和QD之间同步。
在这里插入图片描述
当创建一个新的事务时,需要在TMGXACT分布式事务结构体中包含以下信息:

  • 分布式事务ID
  • 分布式事务管理器启动的时间戳
  • 活跃分布式事务中最小的事务ID
  • session ID

这些分布式事务信息,包括分布式快照信息,再通过这种序列化的方式,序列化到一个查询计划里面,然后用dispatch的方式发送到segment上。Segment作为参与者,把信息进行反序列化,读到自己的内存里面,从而完成一个QD到QE之间的信息共享。以下是PG中两阶段协议的一些主要函数及大概逻辑。
在这里插入图片描述
很多数据库会在标准的两阶段提交协议上做了大量的优化,比如在某些情况下使用一阶段提交。Greenplum也做了相应的优化,比如在QD执行提交前,检查事务是否满足一阶段提交的条件:

  • 有写操作,参与者只有一个
  • 只读事务

如果满足以上其中一个,QD就会调用函数doNotifyingOnePhaseCommit向参与者发送DTX_PROTOCOL_COMMAND_COMMIT_ONEPHASE命令,QE完成提交。

http://www.15wanjia.com/news/169130.html

相关文章:

  • 美妆网站源码asp网站设计O2O平台优化
  • wordpress判断浏览器昆明网站seo多少钱
  • 做网站编辑需要学什么凡科建站
  • 微信网站建设报价重庆市招标网
  • 坪山商城网站建设哪家便宜个体工商户营业执照查询官网
  • 仓库盘点网站开发jsp网站购物车怎么做
  • 北京网站整站优化怎么找做网站的人
  • wordpress网站密码忘记搜狗推广优化
  • 哪家公司做移动网站做搜索的网站
  • 东莞英文网站制作湖北网站建设哪家有
  • wordpress文章怎么增加字段班级优化大师网页版登录
  • 太原网站建设 thinkphp3.2保山市建设厅官方网站
  • 企业网站优化要多少钱1688一键铺货到拼多多
  • 做不了飞机要看什么网站北京 公司网站制作
  • 做响应式网站的流程邢台移动网站建设报价
  • 张槎建网站服务制作一个公司网站用vs怎么做
  • 网站因未取得备案号而被关闭网站文件夹怎么做
  • 会计证继续教育在哪个网站做上海人才网官网入口
  • 做网站需要买空间么 服务器WordPress料神
  • 深圳龙华建设局官方网站wordpress4中文
  • net网站开发 介绍服装与服饰设计
  • 嘉兴网站建设方案策划阳泉那有做网站的
  • 宁波海曙网站开发如何建立公司邮箱
  • c 做网站时字体颜色的代码现在注册一个公司要多少钱
  • 企业网站建设一般考虑哪些因素html简单网页成品
  • 做的网站怎么放视频艺术培训学校系统网站怎么做
  • 银川做网站最好的公司有哪些wordpress导航如何优化
  • 济南网站建设小程序开发工厂招工信息
  • 九江市住房和城乡建设局网站能用二级域名做网站吗
  • 杭州网站优化排名洛阳建站推广公司