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有全局的更新或者写入操作时,并发查询看到的是一致的数据版本。下图展示是如何实现。

AnalyticDB for PostgreSQL 6.0 新版本技术解析

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调度工具。

AnalyticDB for PostgreSQL 6.0 新版本技术解析

2、HTAP 混合负载服务

Gartner在2014年正式提出HTAP场景概念,当前主流数据库中,真正具备HTAP能力的只有Oracle,其支持对TB级别数据,进行高性能事务处理和数据分析查询的混合负载。如上面介绍AnalyticDB for PostgreSQL,可以同时支持OLTP和OLAP两种业务操作,同时采用分布式架构,可以将HTAP能力水平扩展,支持大数据量下的混合负载。
除OLTP和OLAP性能外,为保证混合负载的稳定性,ADB PG支持完备的负载管理能力,如下所示,通过资源队列,可以支持在线交易部分,和在线查询部分得到高优先级的CPU响应。

AnalyticDB for PostgreSQL 6.0 新版本技术解析

三、未来展望

ADB PG在11月份信通院举行的分析型数据库测试认证上,通过了100TB TPC-DS大规模性能测试认证,同时共计640个MPP并行计算节点,超过之前MPP认证最高500节点记录。证明了 MPP 这种集群数据库产品,具备更优秀的“大”数据处理能力。

阿里云数据库团队持续投入ADB PG的内核竞争力构建,全新的向量化引擎将在 2020年Q1发布,较标准PostgreSQL引擎,计算性能提升5倍。同时为了实现更好的高吞吐能力,将在Q2发布多协调节点能力,OLTP的高并发吞吐能力将实现线性扩展,支持百万级别的 TPS 吞吐。

上一篇:阿里云新品发布会周刊第57期 丨 助力企业打造专属钉钉


下一篇:如何将Mac OS X10.9下的Python2.7升级到最新的Python3.3