[视频]云原生数据仓库 AnalyticDB PostgreSQL 版解析与实践(上)|学习笔记(一)

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
对象存储 OSS,20GB 3个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 快速学习[视频]云原生数据仓库 AnalyticDB PostgreSQL 版解析与实践(上)

开发者学堂课程【数据仓库 ACP 认证课程[视频]云原生数据仓库 AnalyticDB PostgreSQL 版解析与实践(上) 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/928/detail/14626


[视频]云原生数据仓库 AnalyticDB PostgreSQL 版解析与实践(上)

 

内容介绍:

一、产品概述

二、产品架构及原理

三、产品相关概念

四、核心功能解析与实践

 

一、产品概述

1.产品简介

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

(1)PB级数据实时响应

MPP水平扩展架构,PB级数据查询秒级响应;向量化计算,及列存储智能索引,领先传统数据库引擎性能3x;新- -代SQL优化器,实现复杂分析语句免调优

(2)稳定可靠、简化运维

飞天平台基于阿里多年大规模集群系统构筑经验打造,智能硬件管理,故障监控诊断自恢复,支持MPP数据库实现复杂集群系统高可靠,自运维

(3)SQL兼容性

支持SQL 2003 ,部分兼容Oracle语法,支持PL/SQL存储过程,OLAP窗口函数,视图等.完备功能和生态,实现应用快速适配、或迁移

(4)数据多模分析

通过PostGIS插件支持地理信息数据分析;内置100+机器学习算法库,实现数据智能探索;高性能向量检索算法,支持视频/图像检索以图搜图

2. 发展历程

image.png

2017

ADB PG(原HDB)诞生

内核PG 8.2

2018

ORCA优化器

稀疏和聚簇索引

JSON数据类型

OSS外表

2019

内核升级PG9.4

向量执行引擎1.0

多MASTER

RBO优化器增强

高维向量检索

信通院&信创认证

2020

云原生升级

备份恢复

外表联邦分析

多维排序

向量执行引擎

TPCH性价比全球第一

2021

副本多活

分层存储

计算存储分离

HTAP增强

行列混存

3.产品定位

兼容业内主流数仓架构方案,支持ETL离线处理,支持在线交互分析。通过高性能计算引擎及实时同步方案,支持在线数据随机探索,实时同步分析。

 image.png

主要包括实时数据入库和批量加载,实时数据入库包括 RDS 等做一些实时同步等,批量加载可以通过 kettle 、Dataworks等导入,数据进入后由数仓进行加工,加工后进行报表查询。

功能完备:

基于PostgreSQL内核, SQL高度兼容Teradata/Oracle

生态完备:

与阿里云数仓开发平台Dataworks ,数据中台Dataphin , 数据同步工具DTS等无缝集成;支持业内主流第三方工具

4.产品特点与优势

(1)性能强劲

TPC-H评测全球第一,超过90%的读写性能水平扩展比

(2)弹性

分布式弹性架构,PB级数据存储与分析

(3)遵循PG/GP协议

业界最主流数仓协议,兼容主流ETL/BI/可视化等生态工具

(4)简单易用

经历大规模验证,对标传统商业数仓的企业级特性

5.核心功能

(1)核心功能: PL/pgSQL过程语言

自定义函数&存储过程如下:

CREATE [OR REPLACE] {FUNCTION| STORED PROCEDURE} nane

( [ [argmode] largname] argtype [ { DEFAULT 1 = } default. _expr 1 [, ...]] )

{ RETURNS rettype

| RETURNS TABLE ( column. .name column. .type [, ...] ) ]

{ LANGUAGE langname

| WINDOW

| IMMUTABLE| STABLE | VOLATILE| [NOT] LEAKPROOF

| CALLED ON NULL INPUT| RETURNS NULL ON NULL INPUT| STRICT

| [EXTERNAL] SECURITY INVOKER| [EXTERNAL] SECURITY DEFINER

| EXECUTE ON { ANY 1 MASTER| ALL SEGMENTS }

| COST execution. cost

| SET configuration. parameter { T0 value| = value | FROM CURRENT }

| AS ‘definition'

| AS ‘obj. _file', ‘link_ .symbol' } ...

[ WITH ({ DESCRIBE = describe. _function

}[,...1)].

(2)核心功能: CBO优化器

新一代cascade框架的SQL优化器,面向全并行执行架构,代价优化CBO和规则优化RBO相结合,实现复杂SQL免调优。

Top-Down路径搜索框架,搜索和路径选择更全面精准,避免出现局部查询路径最优解

子查询自动改写为分布式JOIN ,实现并行计算,规避手工改写调优

SQL优化阶段定义动态分区裁剪,即支持确定性过滤条件,也支持参数化的过滤条件,减少I/O

(3)核心功能:资源负载管理

支持自定义执行队列,根据用户角色,其执行任务进入对应资源管控队列。任务队列支持设定:

并行执行任务数

CPU优先级

内存资源上限

示例:用户自定义三个执行队列

ETL队列:赋予资源获取最低优先级

BI报表队列:赋予资源获取最高优先级

数据探索队列:赋予资源获取中间优先级

image.png

(4)核心功能:备份恢复方式丰富

 image.png

PITR备份恢复

RPO< 10min

支持差异化全量备份

支持增量备份

分布式一致性恢复

表级逻辑备份

物理备份是针对实例级别,同时支持单个表的逻辑备份

(5)支持丰富生态

image.png

主流工具是支持的

5.产品选型

产品系列

特点

性价比

可用性

预留模式

兼Greenplum/PostgreSQL。支持2c、4c和8c规格,不同规格之间支持在线升降配、秒级切换,不影响业务运行,适合数据实时写入( DTS),高并发、实时分析场景。

百万TPS实时写入,上

百QPS查询

支持单副本和双副本模式,数据保存在云盘,可用性

99.9%。

 

弹性模式

采用云原生架构,存储和计算完全分离,支持更大存储量,存储成本低,支持秒级扩缩容。适合批量导入、低并发,复杂ETL分析场景。

百万TPS批量导入,几+QPS复杂分析查询。

 

所有数据保存在OSS上,计算双副本,可用性99.9%

 

 

二、产品架构及原理

1.产品架构

AnalyticDB PostgreSQL版具有MPP水平扩展,海量数据实时分析,兼容Oracle语法生态,高可用HA架构,支持分布式事务等优势。

image.png

多活协调节点:

Cascade架构SQL优化器

全局分布式事务管理

计算节点水平扩展:

计算任务全并行执行

新一代向量化计算引擎

非结构化数据检索

高可靠存储引擎:

本地数据双副本

支持行存储/列存储

高吞吐导入/导出

分布式事务支持:

支持分布式事务,保证强- -致性

支持SI/RC隔离级别

2. 模块组件

(1)模块组件

AnalyticDB PostgreSQL版的架构主要包含Master Node和Compute Node两大组件,中间通过Interconnect

进行互联通信和数据交换传输。

Master Node 协调节点,包括协议解析、健全认证、优化、GTM、全集元数据的存储等等

Computer Node 计算节点,包括查询执行、本地事务管理器、本地元数据、缓存、数据、索引

Master Node

Computer Node

Segment

负责客户端连接协议层接入,认证和鉴权,SQL解析,重写,优化,和执行分发协调。

全局事务管理器(Global TransactionManager ),负责全局事务ID、快照生

成和分布式事务管理

全局元数据目录(Global Catalog )则记录了用户,库,表,视图,索引,分布分

区等数据库对象的元数据信息。

Compute Node包含了一组Segment

部署形态上可以是物理机,VM或者容器

 

Segment是负责具体的SQL执行和数据存储节点。

执行引擎通过向量化和及时编译(JIT)等技术,相比传统逐行计算的火山模型获得数倍性能提升。

数据和索引( Data & Index )支持行存表,列存表,和外表以及相应索引。

 

(2)组件交互

image.png

第一步,客户端发送,接受客户端连接,Master 用户的认证鉴权

第二步,语法语义解析,生成解析树

第三步,根据解析树优化并生成执行计划

第四步,分配集群 segment 并下发执行计划,协调执行并返回最终结果

第五步,Segment QE 并执行计划中的每个具体算子,在不同 QE 间交换数据

第六步,Scan算子读取数据和索引

第七步, Master QE 负责第二阶段聚集和最终结果收集

3.数据模型

属于对象-关系型数据库,数据库的对象通常包括∶表、视图、函数、序列、索引、分区子表、外部表等,而对象-关系型则进一步支持用户自定义对象和它的属性,包括数据类型、函数、操作符,域和索引,甚至复杂的数据结构也可以被创建,存储和检索。

 image.png

(1)行存表,列存表,和外表

行存表∶数据按行存放,支持主键,B+树索引,Bitmap索引,GIN索引等,适合数据实时写入更新删除,点查,范围查。

列存表︰数据按列存放,高压缩比,适合追加写(少量更新删除)场景。

外表∶元数据存放在本地系统表,数据存放在OSS,支持的数据格式包括ORC,Parquet, CSV,JSON,支持表分区,其中ORC和Parquet支持列过滤和谓词下推,提升分析性能

除OSS外,同时也支持Hadoop ( HDFS,Hive )外表。image.png(2)表数据分布

将表数据均匀的分布到各个节点中,是发挥集群整体IO性能,提升存储容量,优化计算与网络传输效率的关键

image.png

Lineitem table分为三部分,定义分布键,按照 orderkey 分布,会对 orderkey 做哈希处理,会均匀分布到每个节点上,每个节点都存放用户表的一部分数据,根据业务语义定义分区,比如说按日期做分区,做好分区裁剪

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
26天前
|
存储 缓存 安全
Java内存模型深度解析:从理论到实践####
【10月更文挑战第21天】 本文深入探讨了Java内存模型(JMM)的核心概念与底层机制,通过剖析其设计原理、内存可见性问题及其解决方案,结合具体代码示例,帮助读者构建对JMM的全面理解。不同于传统的摘要概述,我们将直接以故事化手法引入,让读者在轻松的情境中领略JMM的精髓。 ####
33 6
|
23天前
|
运维 持续交付 云计算
深入解析云计算中的微服务架构:原理、优势与实践
深入解析云计算中的微服务架构:原理、优势与实践
56 1
|
1月前
|
消息中间件 存储 缓存
十万订单每秒热点数据架构优化实践深度解析
【11月更文挑战第20天】随着互联网技术的飞速发展,电子商务平台在高峰时段需要处理海量订单,这对系统的性能、稳定性和扩展性提出了极高的要求。尤其是在“双十一”、“618”等大型促销活动中,每秒需要处理数万甚至数十万笔订单,这对系统的热点数据处理能力构成了严峻挑战。本文将深入探讨如何优化架构以应对每秒十万订单级别的热点数据处理,从历史背景、功能点、业务场景、底层原理以及使用Java模拟示例等多个维度进行剖析。
54 8
|
16天前
|
机器学习/深度学习 人工智能 算法
深入解析图神经网络:Graph Transformer的算法基础与工程实践
Graph Transformer是一种结合了Transformer自注意力机制与图神经网络(GNNs)特点的神经网络模型,专为处理图结构数据而设计。它通过改进的数据表示方法、自注意力机制、拉普拉斯位置编码、消息传递与聚合机制等核心技术,实现了对图中节点间关系信息的高效处理及长程依赖关系的捕捉,显著提升了图相关任务的性能。本文详细解析了Graph Transformer的技术原理、实现细节及应用场景,并通过图书推荐系统的实例,展示了其在实际问题解决中的强大能力。
106 30
|
2天前
|
数据采集 供应链 搜索推荐
商业案例 I AllData数据中台商业版落地实践
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
11天前
|
DataWorks 数据挖掘 大数据
方案实践测评 | DataWorks集成Hologres构建一站式高性能的OLAP数据分析
DataWorks在任务开发便捷性、任务运行速度、产品使用门槛等方面都表现出色。在数据处理场景方面仍有改进和扩展的空间,通过引入更多的智能技术、扩展数据源支持、优化任务调度和可视化功能以及提升团队协作效率,DataWorks将能够为企业提供更全面、更高效的数据处理解决方案。
|
16天前
|
存储 网络协议 编译器
【C语言】深入解析C语言结构体:定义、声明与高级应用实践
通过根据需求合理选择结构体定义和声明的放置位置,并灵活结合动态内存分配、内存优化和数据结构设计,可以显著提高代码的可维护性和运行效率。在实际开发中,建议遵循以下原则: - **模块化设计**:尽可能封装实现细节,减少模块间的耦合。 - **内存管理**:明确动态分配与释放的责任,防止资源泄漏。 - **优化顺序**:合理排列结构体成员以减少内存占用。
86 14
|
20天前
|
存储 算法
深入解析PID控制算法:从理论到实践的完整指南
前言 大家好,今天我们介绍一下经典控制理论中的PID控制算法,并着重讲解该算法的编码实现,为实现后续的倒立摆样例内容做准备。 众所周知,掌握了 PID ,就相当于进入了控制工程的大门,也能为更高阶的控制理论学习打下基础。 在很多的自动化控制领域。都会遇到PID控制算法,这种算法具有很好的控制模式,可以让系统具有很好的鲁棒性。 基本介绍 PID 深入理解 (1)闭环控制系统:讲解 PID 之前,我们先解释什么是闭环控制系统。简单说就是一个有输入有输出的系统,输入能影响输出。一般情况下,人们也称输出为反馈,因此也叫闭环反馈控制系统。比如恒温水池,输入就是加热功率,输出就是水温度;比如冷库,
146 15
|
23天前
|
弹性计算 持续交付 API
构建高效后端服务:微服务架构的深度解析与实践
在当今快速发展的软件行业中,构建高效、可扩展且易于维护的后端服务是每个技术团队的追求。本文将深入探讨微服务架构的核心概念、设计原则及其在实际项目中的应用,通过具体案例分析,展示如何利用微服务架构解决传统单体应用面临的挑战,提升系统的灵活性和响应速度。我们将从微服务的拆分策略、通信机制、服务发现、配置管理、以及持续集成/持续部署(CI/CD)等方面进行全面剖析,旨在为读者提供一套实用的微服务实施指南。
|
16天前
|
存储 缓存 Python
Python中的装饰器深度解析与实践
在Python的世界里,装饰器如同一位神秘的魔法师,它拥有改变函数行为的能力。本文将揭开装饰器的神秘面纱,通过直观的代码示例,引导你理解其工作原理,并掌握如何在实际项目中灵活运用这一强大的工具。从基础到进阶,我们将一起探索装饰器的魅力所在。

热门文章

最新文章