云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1|学习笔记(二)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 快速学习云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1

开发者学堂课程【数据仓库 ACP 认证课程:快速学习云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1】学习笔记,与课程紧密联系,让用户快速学习知识。

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


云原生数据仓库 AnalyticDB MySQL 版_解析与实践1


三、产品架构及原理


1.产品架构

AnalyticDB MySQL 版采用云原生架构,计算存储分离、冷热数据分离,支持高吞吐实时写入和数据强一致,兼顾高并发查询和大吞吐批处理的混合负载。

 image.png



(1)接入层

协议层接入、SQL解析和优化、数据和查询调度


(2)计算引擎

支持高并发和复杂SQL混合负载

弹性调度,可根据业务需求做到分钟级甚至秒级扩展,实现了资源的有效利用。


(3)存储引擎

分布式实时强一致高可用存储引擎

利用分层存储实现冷热分离降低成本

通过行列存储和智能索引提升性能


2.优化器介绍

image.png

从低向上包括四个层次:统计层、代价估算层、优化层、缓存层

统计信息:提供多样的统计信息;提供自动的统计信息收集;提供动态采样;

代价预估和代价模型;

基于规则的 RBO 框架和基于代价的 CBO 框架;

通过缓存来提供优化器的高效性

可介入、可运维。


3. 弹性计算层介绍


(1)弹性计算层:架构

image.png

计算引擎采用弹性计算引擎,支持资源组,资源组1支持在线查询,资源组2支持ETL查询,弹性计算层可以支持弹性扩容,可以应对大规模的ETL查询,具有分式弹性的特征


(2)弹性计算层∶查询执行计划

SQL:

select count(*)

from customer left join lineitemon

customer.c nationkey_= lineitem.l_partkey;

逻辑执行计划:

用户下发 SQL

前端节点负责解析 SQL,生成分布式执行计划,下发到计算节点和存储节点执行

执行完成后,将结果返回给前端节点

主要概念:

Stage:

为了让 Query  能够在多台机器上并行执行,会将执行计划拆分成多个阶段(Stage) ,每个 Stag 会产生多个 Task 进行执行

Task:

Task 负责具体计算的执行,是 Stage 在某一个 Worker 或者 Executor 上的实例

Operator:

对应一个相对独立的计算单位,比如过滤、投影、聚合等操作,作用于输入数据,并产生输出。

执行计划:


(3)弹性计算层∶查询执行模式

image.png

Interactive 模式

场景

适合交互式查询,对响应时间有较高要求

查询 Query 不高,资源充足

特点

MPP pipeline 方式执行,即一个查询的所有分布式执行任务会被同时调度执行

完全基于内存进行计算

大查询消耗资源多

 image.png

Batch 模式(E系列支持)

场景

适合 ETL 场景,作业执行时间长,对 RT 要求低

计算数据量大,计算逻辑复杂,但资源较为有限

特点

BSP 方式执行,即 StageByStage 方式调度执行分布式任务

内存不足时自适应下盘算子状态数据

Stage 之间的数据传输(Exchage/Shuffle )依赖本地磁盘+对象存储

大查询/ETL 离线任务资源消耗可控

image.png


(4)储存层:架构

image.png

包括针对实时任务的在线存储和针对离线任务的离线存储


(5)存储层∶高吞吐写入

玄武分析存储引擎为用户提供高可靠、高可用、高性能、低成本的企业级数据存储能力,是 AnalyticDB 实现高吞吐实时写入、高性能实时查询的基础支撑。

image.png

存储层的采用 Raft 协议,在多副本之间保证数据临时性同时协议具有更高的这样一个可靠可用性,当我们某一个 worker Group 失效或者是失败的时候,可以通过多数来保证系统的一个正常运行,增量数据是通过异步构建的方加载进入全量数据,实行冷热数据分层以及的数据的分析管理


(6)存储层∶行列混合存储

玄武存储引擎支持行列混存和行存的存储格式,其中行列混存是一种以列存为基础兼顾行存的模式,类似于 Hadoop 中的 ORC/Parquet 格式。

不同的是玄武的行列混存不仅兼顾分析类的列裁剪和大吞吐扫描性能,而且结合其行对齐的能力,可以实现很好的随机查找性能,这对于任意多维索引过滤的场景也拥有出色的性能优势。

image.png

数据分成 Row Group,在 Row Group 中的列是单独存储的,对于固定场所的数据,分成固定场所块以及变长块,变长块采用 Toast File  进行存储


(7)存储层:自适应索引

 image.png

对于不同的索引生成的结果通过联合或并列的操作形成 id 的集合,根据 id 的结合获取对应的数据

相关实践学习
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
相关文章
|
存储 SQL 弹性计算
【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1|学习笔记(一)
快速学习【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1
【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1|学习笔记(一)
|
存储 Cloud Native 固态存储
【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3|学习笔记(四)
快速学习【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3
【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3|学习笔记(四)
|
SQL 存储 弹性计算
【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1|学习笔记(二)
快速学习【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1
【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1|学习笔记(二)
|
SQL 存储 Cloud Native
【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3|学习笔记(二)
快速学习【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3
【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3|学习笔记(二)
|
存储 SQL Cloud Native
【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1|学习笔记(三)
快速学习【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1
【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1|学习笔记(三)
|
SQL 分布式计算 Cloud Native
【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3|学习笔记(一)
快速学习【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3
【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3|学习笔记(一)
|
存储 SQL Cloud Native
【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1|学习笔记(四)
快速学习【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1
【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1|学习笔记(四)
|
存储 SQL 缓存
【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3|学习笔记(三)
快速学习【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3
【视频】云原生数据仓库 Analyticdb MYSQL 版-解析与实践-3|学习笔记(三)
|
SQL 分布式计算 Cloud Native
云原生数据仓库 AnalyticDB MySQL 版 _解析与实践3|学习笔记(一)
云原生数据仓库 AnalyticDB MySQL 版 _解析与实践3
435 0
云原生数据仓库 AnalyticDB MySQL 版 _解析与实践3|学习笔记(一)
|
存储 SQL Cloud Native
云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1|学习笔记(一)
快速学习云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1
166 0
云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1|学习笔记(一)