我们对X2的一点改进.docxVIP

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

我们对Postgres-X2的一点改进

余鹏

杭州沃趣网络科技有限公司

1

概要

?背景介绍?已知问题?问题解决?TBD

?QA

3

PGX2

?基于postgres,postgres协议(类BSD,商业友好),兼容pgsqlAPI

?分布式并行:数据水平分片,shared-nothing架构,支持水平扩展

?面向OLTP

4

PGX2

Gtm

coordinatordatanodecoordinatorcoordin

coordinator

datanode

coordinator

coordinator

datanode

datanode

coordinator

datanode

5

角色与职能

?Gtm:全局事务管理,提供全局事务的服务

?Coordinator:存储全局的元数据,接受用户

请求,负责生成并执行全局查询计划(全局查询计划由若干局部查询计划组成,执行时将局部查询计划分发给datanode)

?Datanode:存储本地的元数据,接受并执

行coordinator的局部查询计划(局部查询计划也是SQL)

问题

?可扩展性问题:更多的机器,无法获得更高的TPS(pgbench)

?性能:单个机器上TPS只有原版PG的60%,如何进一步提高?

?稳定性:gtm,gtmproxy,datanodecoordinator????

处理流程

7

8

Gtm瓶颈

?在一条SQL的处理过程中,需要多次遍历链表(复杂

度O(N),当前系统中正在处理的事务

越多,N越大)

解决gtm瓶颈

?使用二叉平衡树AVL来替代链表,将复

杂度降低到O(log(N))(issue315)

?AVL会引入建立、维护平衡树的代价。在N很小的情况下,效率会低于原有使用

链表的情况,但是一旦N足够大,效率会远远超过使用链表的情况。

9

10

AVL优化效果

?测试方法:

–在一台物理机上部署:gtmcoordinatordatanode各一个模拟一个网络带宽不受限的环境),生成16G的物理数据,分别使用优化前后的GTM

–执行:pgbench-cN-jN-T60,N是连接数,每个事务执行5条SQL,每条SQL是一个子事务,一共

执行60秒。每次执行之前先执行checkpoint,以减少checkpoint的影响。(确保测试期间没有发

生checkpoint)。逐渐增大N(3264128256512768),获取TPS。

11

AVL优化效果

?GTM优化前后的TPS对比

AVL优化效果

?随着N的增大:

–原有版本的磁盘使用率从60%降低到了20%

–优化之后的磁盘使用率一直维持在60%左右

提高单节点效率

?减少gtm与coordinator交互

–在词法语法分析时,使用上次的快照作为元数据MVCC验证的快照,减少一次快照请

求(issue319)。

–合并获得事务ID与获取快照的请求(TBD)

提高gtmproxy通信效率

?Gtmproxy

–用作coordinator、datanode与gtm之间通信的代理,节约网络带宽

–Gtmproxy一般与datanodecoordinator部署在同一台物理机上

–使用unixdomainsocket提高通信效率(issue310)

稳定性

?Gtm/gtmproxy超过1024线程退出(issue317)

?Coordinator中pooler进程的连接数超过系统限制会退出,从而导致coordinator退出

?Coordinator/datanode使用高版本编译器编译出来的版本,运行一段时间后会拒

绝服务(issue273issue72)

?

…….

TBD

?扩展能力:网络瓶颈

?绑定变量执行效率提升

?集成9.6

QA

文档评论(0)

我的文档我做主 + 关注
实名认证
文档贡献者

有偿文档使用

1亿VIP精品文档

相关文档