AnalyticDB for PostgreSQL 6.0 新版本技术解析

本文涉及的产品
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 本文介绍阿里云 AnalyticDB for PG 6.0版本 OLTP及OLAP方面的特性增强,以及主要场景优势。

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

txn

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

edw

2、HTAP 混合负载服务

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

htap

三、未来展望

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

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

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
秒级响应 + 99.9%准确率:法律行业文本比对技术解析
本工具基于先进AI技术,采用自然语言处理和语义匹配算法,支持PDF、Word等格式,实现法律文本的智能化比对。具备高精度语义匹配、多格式兼容、高性能架构及智能化标注与可视化等特点,有效解决文本复杂性和法规更新难题,提升法律行业工作效率。
|
1天前
|
数据采集 存储 JavaScript
网页爬虫技术全解析:从基础到实战
在信息爆炸的时代,网页爬虫作为数据采集的重要工具,已成为数据科学家、研究人员和开发者不可或缺的技术。本文全面解析网页爬虫的基础概念、工作原理、技术栈与工具,以及实战案例,探讨其合法性与道德问题,分享爬虫设计与实现的详细步骤,介绍优化与维护的方法,应对反爬虫机制、动态内容加载等挑战,旨在帮助读者深入理解并合理运用网页爬虫技术。
|
7天前
|
机器学习/深度学习 自然语言处理 监控
智能客服系统集成技术解析和价值点梳理
在 2024 年的智能客服系统领域,合力亿捷等服务商凭借其卓越的技术实力引领潮流,它们均积极应用最新的大模型技术,推动智能客服的进步。
40 7
|
24天前
|
监控 算法 物联网
院内导航怎么实现?解析信息化医院的智慧导航技术
智慧医院院内导航系统通过高精度电子地图、室内定位技术和路径规划算法,提升了医疗服务质量和患者就医体验。本文深入解析了院内导航技术的实现原理、应用案例及未来趋势,助力医院管理者和技术人员优化服务。文章最后可面查看详细医院院内导航解决方案
74 2
院内导航怎么实现?解析信息化医院的智慧导航技术
|
12天前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
34 3
|
15天前
|
网络协议 网络性能优化 数据处理
深入解析:TCP与UDP的核心技术差异
在网络通信的世界里,TCP(传输控制协议)和UDP(用户数据报协议)是两种核心的传输层协议,它们在确保数据传输的可靠性、效率和实时性方面扮演着不同的角色。本文将深入探讨这两种协议的技术差异,并探讨它们在不同应用场景下的适用性。
48 4
|
17天前
|
网络协议 安全 文件存储
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问,即使IP地址变化,也能通过DDNS服务保持连接。适用于家庭网络远程访问设备及企业临时或移动设备管理,提供便捷性和灵活性。示例代码展示了如何使用Python实现基本的DDNS更新。尽管存在服务可靠性和安全性挑战,DDNS仍极大提升了网络资源的利用效率。
35 6
|
21天前
|
数据可视化 图形学 Python
在圆的外面画一个正方形:Python实现与技术解析
本文介绍了如何使用Python的`matplotlib`库绘制一个圆,并在其外部绘制一个正方形。通过计算正方形的边长和顶点坐标,实现了圆和正方形的精确对齐。代码示例详细展示了绘制过程,适合初学者学习和实践。
37 9
|
16天前
|
Kubernetes Java 微服务
微服务上下线动态感知实现的技术解析
随着微服务架构的广泛应用,服务的动态管理和监控变得尤为重要。在微服务架构中,服务的上下线是一个常见的操作,如何实时感知这些变化,确保系统的稳定性和可靠性,成为了一个关键技术挑战。本文将深入探讨微服务上下线动态感知的实现方式,从技术基础、场景案例、解决思路和底层原理等多个维度进行阐述,并分别使用Java和Python进行演示介绍。
35 4
|
15天前
|
安全 持续交付 Docker
深入理解并实践容器化技术——Docker 深度解析
深入理解并实践容器化技术——Docker 深度解析
34 2

相关产品

  • 云数据库 RDS PostgreSQL 版