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

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
云解析DNS-重点域名监控,免费拨测 20万次(价值200元)
简介: 快速学习云原生数据仓库 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版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
Ubuntu
Ubuntu 安装使用yum
Ubuntu 安装使用yum
3119 0
|
11月前
Dataphin免费试用指南
为您提供Dataphin快速上手操作指南,一起轻松构建数据
637 67
|
10月前
|
关系型数据库 MySQL 数据库
RDS用多了,你还知道MySQL主从复制底层原理和实现方案吗?
随着数据量增长和业务扩展,单个数据库难以满足需求,需调整为集群模式以实现负载均衡和读写分离。MySQL主从复制是常见的高可用架构,通过binlog日志同步数据,确保主从数据一致性。本文详细介绍MySQL主从复制原理及配置步骤,包括一主二从集群的搭建过程,帮助读者实现稳定可靠的数据库高可用架构。
549 9
RDS用多了,你还知道MySQL主从复制底层原理和实现方案吗?
|
架构师 Devops 测试技术
DevOps 进阶实践课,连续 4 期,看看有你想听的吗?
探索DevOps进阶实践?加入阿里云专家的直播课!了解企业研发规范新思路、云效YAML流水线详解、微服务灰度发布最佳实践和规模化项目管理。资深专家分享实战经验,解答疑问,带你提升DevOps效率。
1355 3
|
数据采集 供应链 监控
ERP系统中的库存周转率计算与优化解析
【7月更文挑战第25天】 ERP系统中的库存周转率计算与优化解析
683 0
|
SQL Java API
基于antlr-3.5.2+Python实现一般HiveSQL血缘解析(二)
基于antlr-3.5.2+Python实现一般HiveSQL血缘解析(二)
722 114
基于antlr-3.5.2+Python实现一般HiveSQL血缘解析(二)
|
存储 NoSQL 关系型数据库
第5章:知识存储:概述、方法、实战
第5章:知识存储:概述、方法、实战
第5章:知识存储:概述、方法、实战
|
域名解析
npm i 安装依赖卡慢,失败,等很久,不成功,错误等等
 在安装依赖的时候,有时候npm i会很慢,甚至不成功,错误等等,其中原因之一就是直接使用npm外国源、国内访问国外源网站的网络肯定慢,所以卡顿
2591 0
npm i 安装依赖卡慢,失败,等很久,不成功,错误等等
|
消息中间件 网络安全 网络虚拟化
消息队列 MQ操作报错合集之如何实现公网访问内网RocketMQ集群
在使用消息队列MQ时,可能会遇到各种报错情况。以下是一些常见的错误场景、可能的原因以及解决建议的汇总:1.连接错误、2.消息发送失败、3.消息消费报错、4.消息重试与死信处理、5.资源与权限问题、6.配置错误、7.系统资源限制、8.版本兼容性问题。
396 0