前沿分享|阿里云资深技术专家 魏闯先:AnalyticDB PostgreSQL年度新版本发布

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 本篇内容为2021云栖大会-云原生数据仓库AnalyticDB技术与实践峰会分论坛中,阿里云资深技术专家 魏闯先关于“AnalyticDB PostgreSQL年度新版本发布”的分享。

知数.jpeg


本篇内容将通过三个部分来介绍AnalyticDB PG年度新版本发布。


一、AnalyticDB PG云原生架构

二、云原生架构核心技术剖析

三、演进路标


知数金句.png

 

一、AnalyticDB PG云原生架构


阿里云自研高性能、海量扩展数据仓库服务、兼容部分Oracle/Teradata语法生态,大量应用于阿里巴巴集团内部电商,物流,文娱,广告等业务部门,服务于阿里云的金融、政企、互联网等各行业用户,支持快速构建新一代云化数据仓库服务。


image001.png


它具有以下四个特点:第一,PB级数据秒级响应。采用向量化计算以及列存储和智能索引,领先传统数据库引擎性能3x倍。新一代SQL优化器,实现复杂分析语句免调优。第二,稳定可靠简化运维。飞天平台基于阿里多年大规模集群系统构筑经验打造,智能硬件管理,故障监控诊断自恢复,支持MPP数据库实现复杂集群系统高可靠,自运维。第三,高SQL兼容性。支持SQL 2003,部分兼容0racle语法,支持PL/SQL存储过程, OLAP窗口函数,视图等,具有完备功能和生态,可实现应用快速适配和迁移。第四,数据多模分析。通过PostGIS插件支持地理信息数据分析,内置100+机器学习算法库,实现数据智能探索。支持高维向量检索算法,实现视频/图像检索以图搜图功能。


image003.png


我们为什么要升级云原生架构?从80年代开始,数据库逐步由单机向云原生架构逐步演进。80年代,数据库采用存储计算耦合的单点数据库服务架构。90年代开始,通过共享存储的能力做到了一份存储多份计算。随着计算节点线性增加,它的存储逐渐成为瓶颈。到2000年以后,随着大数据的发展,数据水平切成多个分片,每一个节点负责一个分片数据的计算和存储。2010年开始,随着云计算的迅速发展,数据库开始向云原生方向演变。


image005.png


对于数据仓库的业务来说,它天生适合存算分离架构并支持弹性伸缩。第一,数据量本身存在波峰波谷,数据量在某些天出现激增,数仓需要做到快速扩容。第二,实时分析。我们需要数据做到实时反馈,刚刚产生的数据,能够立刻分析。第三,数据仓库既要提供历史数据分析,又要提供实时分析,这就要求数仓必须具有好的资源隔离能力。第四,现在的部门数据越来越复杂,跨部门之间需要数据共享。我们的数据仓库需要做到一份存储,多部门共享,减少部门之间数据扭转带来的业务复杂。


image007.png


二、云原生架构核心技术剖析


我们的当前ADB是两层结构,上层是master节点,底层的是计算节点,通过云盘的弹性能力去解决存储弹性的问题。这种架构的主要痛点问题是,计算节点有状态,一旦有状态,在扩容等过程中,就会面临着数据搬迁慢的问题,所以我们在新的云原生架构把计算节点从有状态变成无状态或者弱状态。状态包括真实数据和元数据两个层面,真实数据放在共享存储中,元数据放在分布式KV中,存储和计算完全解耦,做到无状态,这样就可以快速地实现秒级的弹性能力。在开发测试过程中,发现了很多性能问题。第一个问题是,原来的云盘或者是本地盘换成了共享存储后,共享存储响应性能比本地盘差一个数量级或两个数量级,我们采用分布式的多层缓存来解决共享存储的性能问题。第二个,共享存储具有非常好的吞吐能力,但需要存储引擎适应这个特性,因此我们设计了行列缓存的架构,并做了大量的面向高吞吐的性能优化。


image009.png


对普通客户来说,最重要的事情就是做到成本的降低。由于采用的共享存储的价格比原先使用本地盘或云盘的成本有一个数量级的下降,所以整个原生版本在成本上会有个大幅下降。


image011.png


云原生架构有四个特色:第一个特色是弹性,可以实现计算和存储独立的伸缩。第二个是实时,保留实时能力,支持高并发的实时写入。第三个是高吞吐,具有好的多维分析性能,并可线性扩展。第四个是数据共享,可以实现数据跨实例的实时共享。


image013.png


首先我们介绍一下扩容的过程。假设开始只有两个计算节点,数据有八个分片。扩容前,每个计算节点负责四个分片数据,映射关系保存在元数据库中,所有的数据都放在共享存储上面。扩容过程就是将映射关系从原来的一个节点对四个分片改成一个节点对两个分片,扩容过程无需数据迁移,只需要修改元数据,整个过程可以做到秒级弹性。


image015.png


高吞吐实时写入是实时数仓的一个重要特性。主要通过以下三种方式:一、Batch和并行化提高吞吐。二、本地行存表实现事务ACID。三、分布式缓存加速。


image017.png


另一个重要技术点是离在线一体行列混存。我们设计一个面向吞吐的行列混存的存储引擎,充分发挥共享存储高吞吐的特色。行列混存利用数据的有序性,支持计算下推,得到了10倍以上的性能提升。同时针对多维分析任意列查询的场景,设计了多维排序功能,可以保证多个维度的任意查询都能达到毫秒级的响应。


image019.png


ADBPG原先采用火山计算模型,在云原生版本中将火山模型升级为向量化模型。向量化引擎的本质是将原来的一条条计算,改成批计算,每批数据采用列式向量化计算。相对于火山模型,向量化引擎具有CPU Cache命中率高、流水线并行、低函数调用开销、减少内存碎片等优势。测试结果显示,向量化计算引擎相对原来的火山模型有三倍以上的性能提升。


image021.png


计算存储分离架构的第一个演进特性是数据共享。元数据可分成系统表和可见性表,存储在KV系统中。被共享的实例将元数据同步到KV系统中,共享实例实时查KV系统,拿到最新表的元数据和可见性信息,再根据元数据访问共享存储中的数据,从而实现数据的实时共享。


image023.png


下一个演进特性是细粒度弹性。通过前面介绍的计算存储分离架构,已经实现了计算节点的无状态化。下一步的工作就是把节点再细拆为存储服务化节点和计算节点。存储服务化节点主要负责数据实时写入和缓存,计算节点实现完全无状态,从而实现极致弹性能力。


image025.png


三、演进路标


未来一年的演进路径。10月份云原生架构升级,支持极速扩缩容。12月份,上线跨实例数据共享功能,并支持分时弹性功能。明年6月份,上线存储服务化和计算无状态。22年10月份,支持算子级弹性和自动挂起/启动功能。

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
6月前
|
存储 数据采集 JavaScript
深入理解数仓开发(一)数据技术篇之日志采集
深入理解数仓开发(一)数据技术篇之日志采集
|
7月前
|
Cloud Native OLAP OLTP
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
194 4
|
7月前
|
SQL 运维 关系型数据库
基于AnalyticDB PostgreSQL的实时物化视图研发实践
AnalyticDB PostgreSQL企业数据智能平台是构建数据智能的全流程平台,提供可视化实时任务开发 + 实时数据洞察,让您轻松平移离线任务,使用SQL和简单配置即可完成整个实时数仓的搭建。
637 1
|
6月前
|
消息中间件 关系型数据库 Kafka
深入理解数仓开发(二)数据技术篇之数据同步
深入理解数仓开发(二)数据技术篇之数据同步
|
7月前
|
Cloud Native 关系型数据库 OLAP
云原生数据仓库产品使用合集之阿里云云原生数据仓库AnalyticDB PostgreSQL版的重分布时间主要取决的是什么
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
7月前
|
运维 Cloud Native 关系型数据库
云原生数据仓库产品使用合集之原生数据仓库AnalyticDB PostgreSQL版如果是列存表的话, adb支持通过根据某个字段做upsert吗
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
4月前
|
关系型数据库 OLAP 分布式数据库
揭秘Polardb与OceanBase:从OLTP到OLAP,你的业务选对数据库了吗?热点技术对比,激发你的选择好奇心!
【8月更文挑战第22天】在数据库领域,阿里巴巴的Polardb与OceanBase各具特色。Polardb采用共享存储架构,分离计算与存储,适配高并发OLTP场景,如电商交易;OceanBase利用灵活的分布式架构,优化数据分布与处理,擅长OLAP分析及大规模数据管理。选择时需考量业务特性——Polardb适合事务密集型应用,而OceanBase则为数据分析提供强大支持。
1237 2
|
4月前
|
监控 安全 数据中心
实时数仓Hologres容器技术问题之应用底层技术如何解决
容器技术如Docker基于Linux的namespace与cgroup技术,提供进程隔离与资源限制。这些技术早已有之,但未广泛普及。Docker创新性地提供了可分发的容器镜像格式,简化部署流程,从而促进了容器技术的大规模采用。
52 0
|
6月前
|
运维 Cloud Native 关系型数据库
云原生数据仓库AnalyticDB产品使用合集之PostgreSQL版是否直接支持实时物化视图
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
132 3
|
6月前
|
SQL 存储 调度
OceanBase 轻量级数仓关键技术解读
OceanBase 轻量级数仓关键技术解读

相关产品

  • 云原生数据仓库AnalyticDB MySQL版
  • 云原生数据仓库 AnalyticDB PostgreSQL版