分布式 HTAP 数据库 AnalyticDB for PG 架构解析
阿里云AnalyticDB for PostgreSQL(简称 ADB PG),为基于PostgreSQL内核构建的分布式数据库,兼容部分Oracle语法,其可以水平扩展,即支持高吞吐的分布式事务处理,也支持高性能的复杂查询分析,是业内最具竞争里的分布式HTAP集群数据库。本文将介绍ADB PG的关键架构,以及HTAP场景下的性能指标。
ADB PG的架构
ADB PG基于PostgreSQL内核,分为Master接入节点和Segment数据节点。Master 负责SQL的解析h和优化,并生成分布式执行计划,发送给segment节点执行。
- 协调节点Master:分为Main Master和Secondary Master,其接受客户端请求,并进行SQL的解析和优化。同时Main Master构建了GTM全局事务管理模块,维护全局统一的Global XID和Snapshot,从而实现严格的分布式隔离级别 SI和RC。Master节点采用Cascade架构优化器,将RBO和CBO统一结合,同时可以自动化的解关联子查询,保证大部分查询的最优执行计划生成。
- 计算节点 Segment:Segment支持多副本数据存储,支持表按行或者按列存储,当面向纯分析场景时,行存储提供高性能的聚合分析,当面向TP等交易场景时,列存储及多种二级索引,包括BTree等,提供高性能的事务吞吐处理。同时ADB PG在既有PostgreSQL的计算引擎基础上,开发了全自研的高性能向量化计算引擎Odyssey,TPC-H分析性能比原生PG引擎快3倍
OLTP 分布式事务场景与TiDB的比较分析
ADB PG在保证分布式强一致,提供标准RC隔离级别下,通过Segmen 和 Master 的水平扩展,可以提供很好的分布式事务吞吐。ADB PG支持标准的TPC-C benchmark支持。如下分析对比ADBPG和TiDB的TPC-C Benchmark性能,两者的测试指标可以参见官方文档:
- ADBPG 6.0 的TPC-C 的评测:在总计 64 Core,512GB 内存上101231.3 tpmC,细节可以参见 https://help.aliyun.com/document_detail/155810.html
- TiDB 3.0 的TPC-C 的评测:在总计 120 Core,384GB 内存上44068 tpmC ,细节可以参见 https://pingcap.com/docs-cn/stable/benchmark/tpcc/
上述配置上,因为均为全内存计算,内存差异对性能影响可以忽略,同时在TiDB具备更多CPU资源下,ADB PG为TiDB的2倍以上。
ADB PG | TiDB |
---|---|
101231.3 tpmC | 44068 tpmC |
OLAP 复杂分析场景与Greenplum的比较分析
ADB PG自研了向量化计算引擎,同时构筑具备优势的列存储,在2019年11月份的信通院分析型数据库大规模性能测试中,构筑了信通院该测试最大集群规模 640个MPP节点,验证通过支持 TPC-DS 100TB 分析性能。
ADB PG自研了 向量化计算引擎Odyssey,较开源MPP数据库Greenplum原生的PG计算引擎,性能快接近两倍。如下是同等规格下的1TB TPC-H性能比较。
综述
ADB PG采用水平架构,具备完备的数据库SQL功能支持,同时基于GTM分布式事务管理框架,实现了分布式下的强一致性,支持SI/RC隔离级别。OLTP Benchmark TPC-C 为TiDB两倍,OLAP benchmark 为开源MPP数据库 Greenplum两倍,在一套架构上,实现了高性能的分布式HTAP能力。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
每日一博 | 浅谈微服务架构
微服务来源 单体应用 微服务是相对于单体应用的,在介绍微服务之前,先简单介绍一下单体应用:通常是由三个重要部分组成:客户端界面(由HTML、JavaScript组成)、数据库(由许多的表组件构成一个通用的、相互关联的数据管理系统)、服务端应用。服务端应用处理客户端的HTTP请求、执行逻辑、检索并更新数据库中的数据、然后将处理后的数据返回给客户端。 一个单体应用被构建成一个系统时,业务中所有请求都要在单一的进程中处理完成,当访问量很高情况下服务器压力是很大的。当然可以水平扩展,利用负载均衡将实例布署到多台服务器中。 单体架构的缺点 [ ] 开发效率低 [ ] 代码维护难 [ ] 部署不灵活 [ ] 稳定性不高 [ ] 扩展性不高 云时代 在此之前单体应用也是很成功的,但是随着云时代的到来,单体应用就显得有些不妥了,特别是应用程序发布到云端的时候,一个功能的变更,需要统一的编译和发布。这样的架构模式很难使得一个模块的变更不影响到其他模块,而且在扩展方面也只能进行整体的扩展,不能根据正在运行的部分进行扩展。 微服务架构风格 云时代单体应用的尴尬导致了微服务架构风格的出现:以服务构建应用。 一...
- 下一篇
03月16日云栖号头条:钉钉入选联合国教科文组织远程教学平台
云栖号:https://yqh.aliyun.com第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策! 今日最新云头条快讯: 在因疫情影响学校关闭期间,联合国教科文组织推荐了一份应用程序和平台清单给家长、老师和学校使用,钉钉成为首选视频会议、教学直播和团队协同通讯平台;中国消费者协会利用网络平台开展“2020年3·15国际消费者权益日”线上主题活动,活动主题为“凝聚你我力量”。 一起来看最新的资讯: 联合国教科文组织推荐远程教学平台,钉钉入选 3月13日,联合国教科文组织官网发布数据,全球39个国家和地区的4.21亿孩子和年轻人读书受到新冠肺炎疫情影响,其中学前到高中为3.545亿,高等教育为6688万。在因疫情影响学校关闭期间,联合国教科文组织推荐了一份应用程序和平台清单给家长、老师和学校使用。其中,钉钉成为首选视频会议、教学直播和团队协同通讯平台。 阿里健康组织升级,朱顺炎担任CEO 3月15日,阿里健康董事会委任朱顺炎担任首席执行官、执行董事兼董事会主席。阿里健康为面向未来的创新加强组织保障和投入,助力加速全社会医疗健康领域的数字...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音