《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版解析与实践(上)——二、产品架构及原理

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: 《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版解析与实践(上)——二、产品架构及原理

1. 产品架构

 

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

 

image.png

 

AnalyticDB PostgreSQL具有协调节点和计算节点:

 

多活协调节点:主要负责Cascade架构SQL优化器和全局分布式事务管理。

计算节点水平扩展:计算任务全并行执行、新一代向量化计算引擎(包括Laser引擎和PG计算引擎)、非结构化数据检索。

高可靠存储引擎:本地数据双副本、支持行存储/列存储、具备高吞吐导入/导出。

分布式事务支持:支持分布式事务,保证强一致性,支持SI/RC隔离级别。

 

2. 模块组件

 

AnalyticDB PostgreSQL版的架构主要包含Master Node和Compute Node两大组件,中间通过Interconnect进行互联通信和数据交换传输。

 

1) Master Node

 

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

全局事务管理器(Global Transaction Manager)负责全局事务ID、快照生成和分布式事务管理。

全局元数据目录(Global Catalog)则记录了用户,库,表,视图,索引,分布分区等数据库对象的元数据信息。

 

image.png

 

2) Compute Node

 

Compute Node包含了组Segment。

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

 

3) Segment

 

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

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

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

 

image.png

 

SQL在执行查询时,组件之间的交互

 

接受客户端连接,用户认证鉴权。

语法语义解析,生成解析树。

根据语法解析树优化并生成执行计划。

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

Segment QE并行执行计划中的每个具体算子(Scan,Join,etc.),在不同QE间交换数据(Motion)。

Sacan算子读取数据和索引。

Master QE负责第二阶段聚集和最终结果收集(Gather Motion)。

 

3. 数据模型

 

image.png

 

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

 

1) 支持行存表、列存表和外表

 

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

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

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

除OSS外,同时也支持Hadoop(HDFS,Hive)外表。

 

image.png

 

2) 表数据分布

 

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

image.png

 

ADB数据库里表的数据分布如图,最左边为Lineitem表,首先需要定义分布键orderkey,然后对orderkey做HASH均匀分布到每个节点上,这样每个节点上都存了表的一部分数据,也可以按照日期做分区,方便查询时做分区的裁剪。

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
2月前
|
运维 持续交付 云计算
深入解析云计算中的微服务架构:原理、优势与实践
深入解析云计算中的微服务架构:原理、优势与实践
73 1
|
2月前
|
运维 监控 负载均衡
探索微服务架构下的服务治理:动态服务管理平台深度解析
探索微服务架构下的服务治理:动态服务管理平台深度解析
|
2月前
|
消息中间件 存储 缓存
十万订单每秒热点数据架构优化实践深度解析
【11月更文挑战第20天】随着互联网技术的飞速发展,电子商务平台在高峰时段需要处理海量订单,这对系统的性能、稳定性和扩展性提出了极高的要求。尤其是在“双十一”、“618”等大型促销活动中,每秒需要处理数万甚至数十万笔订单,这对系统的热点数据处理能力构成了严峻挑战。本文将深入探讨如何优化架构以应对每秒十万订单级别的热点数据处理,从历史背景、功能点、业务场景、底层原理以及使用Java模拟示例等多个维度进行剖析。
58 8
|
2月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
144 6
|
29天前
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
176 36
微服务架构解析:跨越传统架构的技术革命
|
1月前
|
存储 Linux API
深入探索Android系统架构:从内核到应用层的全面解析
本文旨在为读者提供一份详尽的Android系统架构分析,从底层的Linux内核到顶层的应用程序框架。我们将探讨Android系统的模块化设计、各层之间的交互机制以及它们如何共同协作以支持丰富多样的应用生态。通过本篇文章,开发者和爱好者可以更深入理解Android平台的工作原理,从而优化开发流程和提升应用性能。
|
2月前
|
弹性计算 持续交付 API
构建高效后端服务:微服务架构的深度解析与实践
在当今快速发展的软件行业中,构建高效、可扩展且易于维护的后端服务是每个技术团队的追求。本文将深入探讨微服务架构的核心概念、设计原则及其在实际项目中的应用,通过具体案例分析,展示如何利用微服务架构解决传统单体应用面临的挑战,提升系统的灵活性和响应速度。我们将从微服务的拆分策略、通信机制、服务发现、配置管理、以及持续集成/持续部署(CI/CD)等方面进行全面剖析,旨在为读者提供一套实用的微服务实施指南。
|
2月前
|
SQL 数据可视化 数据库
多维度解析低代码:从技术架构到插件生态
本文深入解析低代码平台,涵盖技术架构、插件生态及应用价值。通过图形化界面和模块化设计,低代码平台降低开发门槛,提升效率,支持企业快速响应市场变化。重点分析开源低代码平台的优势,如透明架构、兼容性与扩展性、可定制化开发等,探讨其在数据处理、功能模块、插件生态等方面的技术特点,以及未来发展趋势。
|
2月前
|
负载均衡 Java 持续交付
深入解析微服务架构中的服务发现与负载均衡
深入解析微服务架构中的服务发现与负载均衡
80 7
|
2月前
|
SQL 数据可视化 数据库
多维度解析低代码:从技术架构到插件生态
本文深入解析低代码平台,从技术架构到插件生态,探讨其在企业数字化转型中的作用。低代码平台通过图形化界面和模块化设计降低开发门槛,加速应用开发与部署,提高市场响应速度。文章重点分析开源低代码平台的优势,如透明架构、兼容性与扩展性、可定制化开发等,并详细介绍了核心技术架构、数据处理与功能模块、插件生态及数据可视化等方面,展示了低代码平台如何支持企业在数字化转型中实现更高灵活性和创新。
53 1

推荐镜像

更多