AnalyticDB for PostgreSQL 6.0 新版本技术解析
AnalyticDB for PostgreSQL (简称: ADB PG;中文名称:分析型数据库PostgreSQL版)为基于PostgreSQL内核的MPP数据仓库服务。其具备完备的SQL语法功能,广泛支持主流的BI、ETL工具,可以同阿里云RDS及大数据MaxCompute 无缝集成,实现快速构建云上数据仓库服务。同时广泛兼容PostgreSQL扩展生态,支持基于PostGIS 的地理空间数据分析,通过MADLib 机器学习库实现 Machine Learning in MPP。
2020年1月1日 AnalyticDB for PostgreSQL 6.0版本正式商用化。6.0版本较之前 4.3 版本在引擎内核及高吞吐事务能力上有质的提升,全面支持在线实时数仓服务,而且提供HTAP混合负载能力。
一、ADB PG 6.0技术解析
1、OLTP 高吞吐能力构筑
ADB PG 支持分布式事务及标准数据库隔离级别 (RC、RR、SI)。在share-nothing场景下,可以保证全局一致的节点间数据可见性,即对MPP有全局的更新或者写入操作时,并发查询看到的是一致的数据版本。下图展示是如何实现。
ADB PG 可以实现分布式下的高并发事务处理性能,这有赖于两个关键机制,MVCC及全局死锁检测。MVCC为单机数据库经典的事务并行机制,通过数据的多版本管理,可以实现对一条数据进行并发的读和写操作。如果对一条数据进行并发更新操作时,单机引擎会通过行级锁LOCK机制来保证其执行的串行性和事务一致性。然而在分布式场景下,单节点下的行级锁可能会导致分布式死锁,为解决这个问题,6.0版本实现了高性能的分布式死锁检测机制,保证分布式条件下,也可以支持高并发的事务操作。
通过内核引擎的优化,以及分布式下并发执行的优化,ADB PG 6.0版本的 OLTP 性能有质的提升,标准TPC-C Benchmark 在保证分布式一致性下,可以支持 200k tpmC。TPC-B SELECT 达到 200k QPS,INSERT 50k tps,UPDATE,200k tps;DELETE 2000 tps。从而实现一个实例,一份数据,即可以执行高性能查询,也支持高吞吐事务处理。
同时通过上述优化,实时高并发数据写入更新能力也有大幅提升,DTS 实时同步性能 RPS 指标提升 3倍。
2、OLAP 分析性能优化
复制表支持:既有AnalyticDB for PG版本支持数据按两种方式在MPP节点间分布,即按HASH分布,或者RANDOM随机均分。在 6.0版本中,对于数据仓库中小数据量的维度表,引入了新的数据分布方式,即复制表(REPLICATED)。从而对于很多复杂分析和多表关联处理时,通过对小表指定为复制分布,减少节点间的数据传输,即减少执行计划中的数据MOTION算子。
其它分析新特性:除复制表外,6.0版本还引入了多项对分析性能有显著提升的特性,包支持ZSTD高性能压缩,支持列级别的权限控制,支持SCHEMA的权限控制;支持高性能的JSONB数据格式等
二、ADB PG 6.0版本适合的场景
1、实时数据仓库服务
传统大数据方案,往往将ETL作业和交互查询部署在两套异构系统里,数据需要同步,且无法做到实时分析。在线数据仓库较传统的 T+1数据仓库,可以更好的体现数据的实时性。这里需要具备两个能力:第一,生产系统数据可以在一分钟内实时同步进入分析数仓;第二,数仓同时具备ETL批处理能力和高性能交互分析能力。
阿里云DTS服务支持 RDS MySQL/PostgreSQL等数据源秒级别延迟同步到ADB PG内。ADB PG 6.0版本的DTS写入性能较4.3版本有3倍提升,可以支持每秒同步记录RPS 5万条。同时 ADB PG 通过多种存储机制(列存表,行存表),多种索引机制(B-Tree,BitMap,Hash),多种表分区机制(Range Table Parition,List Table Partition),实现即支持复杂的 ETL 任务,也支持高性能即时查询,同时广泛支持第三方的BI报表或ETL调度工具。
2、HTAP 混合负载服务
Gartner在2014年正式提出HTAP场景概念,当前主流数据库中,真正具备HTAP能力的只有Oracle,其支持对TB级别数据,进行高性能事务处理和数据分析查询的混合负载。如上面介绍AnalyticDB for PostgreSQL,可以同时支持OLTP和OLAP两种业务操作,同时采用分布式架构,可以将HTAP能力水平扩展,支持大数据量下的混合负载。
除OLTP和OLAP性能外,为保证混合负载的稳定性,ADB PG支持完备的负载管理能力,如下所示,通过资源队列,可以支持在线交易部分,和在线查询部分得到高优先级的CPU响应。
三、未来展望
ADB PG在11月份信通院举行的分析型数据库测试认证上,通过了100TB TPC-DS大规模性能测试认证,同时共计640个MPP并行计算节点,超过之前MPP认证最高500节点记录。证明了 MPP 这种集群数据库产品,具备更优秀的“大”数据处理能力。
阿里云数据库团队持续投入ADB PG的内核竞争力构建,全新的向量化引擎将在 2020年Q1发布,较标准PostgreSQL引擎,计算性能提升5倍。同时为了实现更好的高吞吐能力,将在Q2发布多协调节点能力,OLTP的高并发吞吐能力将实现线性扩展,支持百万级别的 TPS 吞吐。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云服务器ECS配置/实例选购【参考指南】
这几年,云计算发展得如火如荼,越来越多的用户将自己的业务从传统的虚拟主机、VPS、物理服务器等产品迁移到云上,特别是很多企业,有了云计算赋能,可以更加专注于企业自身的业务了。当然,每一个第一次购买阿里云服务器的客户,对云服务器或多或少都有一点点陌生的,云服务器的购买不必虚拟主机、VPS、物理服务器等传统产品。 通常来说,用户首次购买的云产品基本都是ecs云服务器,因此,如何选择一台适合自身业务的云服务器,就显得特别关键了,目的也很简单,在满足需求的同时,也尽可能的降低预算,同时为了之后的扩容做好打算。个人觉得在选购阿里云服务器的时候应该考虑到以下几点: 一、利用云计算的优势-弹性 云计算的一大优势就是可以随时调整云服务器配置,很多用户在上云的时候都会有这样的考虑,我现在需要的云服务器配置和带宽并不是很高,后面升级简单吗?费用高吗?其实,我们在购买阿里云服务器的时候,如果前提对配置和带宽要求不是很高,完全可以先购买低配,后期根据业务需要灵活调整配置及带宽即可,笔者就遇到过很多用户,前期购买的云服务器带宽只有1-2M,在业务有上广告或者做活动的时候,云服务器访问流量会爆发式增长,这个时候,...
- 下一篇
一个 Blink 小白的成长之路
写在前面 写过blink sql的同学应该都有体会,明明写的时候就很顺滑,小手一抖,洋洋洒洒三百行代码,一气呵成。结果跑的时候,吞吐量就是上不去。导致数据延迟高,消息严重积压,被业务方疯狂吐槽。这时候,老鸟就会告诉你,同学,该优化优化你的代码了,再丢过来一个链接,然后留下一脸懵逼的你。笔者就是这么过来的,希望本文能帮助到跟我有过同样困惑,现在还一筹莫展的同学。 背景故事 先说一下相关背景吧,笔者作为一个刚入职阿里的小白,还处在水土不服的阶段,就被临危受命,改造数据大屏。为什么说临危受命呢,首先是此时距双十一仅剩一个月,再者,去年的双十一,这个大屏刚过零点就出现问题,数据一动不动,几个小时后开始恢复,但仍然延迟严重。此前,笔者仅有的实时计算开发经验是storm,用的是stream API,对于blink这种sql式的API完全没接触过。接到这个需求的时候,脑子里是懵的,灵魂三问来了,我是谁?我即将经历什么?我会死得有多惨?不是“此时此刻,非我莫属”的价值观唤醒了我,是老大的一句话,在阿里,不是先让老板给你资源,你再证明你自己,而是你先证明你自己,再用结果赢得资源,一席话如醍醐灌顶。然后就...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程