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

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
对象存储 OSS,20GB 3个月
全局流量管理 GTM,标准版 1个月
简介: 快速学习[视频]云原生数据仓库 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推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
1月前
|
并行计算 Java 数据处理
SpringBoot高级并发实践:自定义线程池与@Async异步调用深度解析
SpringBoot高级并发实践:自定义线程池与@Async异步调用深度解析
151 0
|
1月前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
162 2
|
16天前
|
JSON 数据可视化 NoSQL
基于LLM Graph Transformer的知识图谱构建技术研究:LangChain框架下转换机制实践
本文介绍了LangChain的LLM Graph Transformer框架,探讨了文本到图谱转换的双模式实现机制。基于工具的模式利用结构化输出和函数调用,简化了提示工程并支持属性提取;基于提示的模式则为不支持工具调用的模型提供了备选方案。通过精确定义图谱模式(包括节点类型、关系类型及其约束),显著提升了提取结果的一致性和可靠性。LLM Graph Transformer为非结构化数据的结构化表示提供了可靠的技术方案,支持RAG应用和复杂查询处理。
62 2
基于LLM Graph Transformer的知识图谱构建技术研究:LangChain框架下转换机制实践
|
10天前
|
编解码 前端开发 UED
探索无界:前端开发中的响应式设计深度解析与实践####
【10月更文挑战第29天】 本文深入探讨了响应式设计的核心理念,即通过灵活的布局、媒体查询及弹性图片等技术手段,使网站能够在不同设备上提供一致且优质的用户体验。不同于传统摘要概述,本文将以一次具体项目实践为引,逐步剖析响应式设计的关键技术点,分享实战经验与避坑指南,旨在为前端开发者提供一套实用的响应式设计方法论。 ####
36 4
|
12天前
|
安全 编译器 PHP
PHP 8新特性解析与实践应用####
————探索PHP 8的创新功能及其在现代Web开发中的实际应用
|
20天前
|
存储 安全 Java
系统安全架构的深度解析与实践:Java代码实现
【11月更文挑战第1天】系统安全架构是保护信息系统免受各种威胁和攻击的关键。作为系统架构师,设计一套完善的系统安全架构不仅需要对各种安全威胁有深入理解,还需要熟练掌握各种安全技术和工具。
58 10
|
19天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
61 3
|
22天前
|
PHP 数据安全/隐私保护 开发者
PHP 7新特性解析与实践
【10月更文挑战第20天】本文将深入浅出地介绍PHP 7的新特性,包括性能提升、语法改进等方面。我们将通过实际代码示例,展示如何利用这些新特性优化现有项目,提高开发效率。无论你是PHP新手还是资深开发者,都能从中获得启发和帮助。
|
23天前
|
人工智能 资源调度 数据可视化
【AI应用落地实战】智能文档处理本地部署——可视化文档解析前端TextIn ParseX实践
2024长沙·中国1024程序员节以“智能应用新生态”为主题,吸引了众多技术大咖。合合信息展示了“智能文档处理百宝箱”的三大工具:可视化文档解析前端TextIn ParseX、向量化acge-embedding模型和文档解析测评工具markdown_tester,助力智能文档处理与知识管理。
|
1月前
|
设计模式 存储 数据库连接
PHP中的设计模式:单例模式的深入解析与实践
在PHP开发中,设计模式是提高代码可维护性、扩展性和复用性的关键技术之一。本文将通过探讨单例模式,一种最常用的设计模式,来揭示其在PHP中的应用及优势。单例模式确保一个类仅有一个实例,并提供一个全局访问点。通过实际案例,我们将展示如何在PHP项目中有效实现单例模式,以及如何利用这一模式优化资源配置和管理。无论是PHP初学者还是经验丰富的开发者,都能从本文中获得有价值的见解和技巧,进而提升自己的编程实践。