构建实时数据仓库首选,云原生数据仓库AnalyticDB for MySQL技术解密

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 阿里云分析型数据库重磅推出基础版,极大降低了用户构建数据仓库门槛。高度兼容MySQL,极低的使用成本和极高的性能,使中小企业也可以轻松的搭建一套实时数据仓库,实现企业数据价值在线化。 AnalyticDB for MySQL的产品系列包括基础版(单机版)和集群版,基础版为单个节点提供服务,极简的架构大大的降低了基础版的成本。
发布会PPT资料放送(点击可直接查看哦)

ADB基础版:云原生MySQL敏捷数仓
ADB for MySQL 基础版技术解密
基于ADB for MySQL基础版构建实时数据仓库实践


阿里云分析型数据库重磅推出基础版,极大降低了用户构建数据仓库门槛。高度兼容MySQL,极低的使用成本和极高的性能,使中小企业也可以轻松的搭建一套实时数据仓库,实现企业数据价值在线化。

AnalyticDB for MySQL的产品系列包括基础版(单机版)和集群版,基础版为单个节点提供服务,极简的架构大大的降低了基础版的成本。存储计算分离架构、行列混存技术、轻量的索引构建方式和分布式混合计算引擎又保证了基础版强大的分析性能。年成本不到一万就可以构建一套实时数据仓库,无需成立专门的大数据团队,为企业节省百万成本。

1.基础版技术架构

如下为基础版架构图,整体由Coordinator和Worker组成,各自的职责如下介绍。

img

1.1 Coordinator: 前端控制节点,职责包括

(1)MySQL协议层接入,SQL解析

(2)认证和鉴权,提供了更完善和细化的权限体系模型,白名单和集群级别RAM控制,并审计与合规记录所有SQL操作。

(3)集群管理:成员管理、元数据、数据一致性、路由同步、备份与恢复(数据与log管理)

(4)后台异步任务管理

(5)事务管理

(6)优化器,执行计划生成

(7)计算调度,负责执行任务调度

1.2 Worker: 存储和计算节点,包含

(1)计算模块

分布式MPP+DAG混合计算引擎和优化器达到了更高的复杂计算能力和混合负载管理能力。利用阿里云计算平台之上资源灵活调度上的优势,实现了计算资源的弹性调度。计算 Worker节点可以单独拉起,因应业务需求做到分钟级甚至秒级扩展,实现资源的最有效利用。

(2)存储模块

存储模块更加轻量化,具备了承载更大吞吐数据实时写入和读取能力,写入性能比之前版本同等规格高50%倍左右,毫秒级可见,满足客户实时分析需求。

存储节点提供全量和增量备份和恢复能力,云盘的定期快照和日志会实时同步到OSS中保存,对用户数据提供更高的安全保障,帮助用户在数据库发生问题时最大限度的找回。

(3)Worker Group

带存储模块的Worker节点被划分为一个个节点组(Worker Group),集群版提供三副本的存储,通过Raft分布式一致性协议像一个整体一样工作,允许其中一些Worker节点出现故障也能继续提供服务,基础版只有单副本提供服务。

2.基础版优化器

优化器负责对Parser生成的语法树进行处理,通过优化算法生成代价最优的计划提供给计算引擎。计划代价直接影响查询性能,因此优化器是数据库中最核心的模块之一。基础版采用了与集群版一样强大的优化器,包含基于规则、基于代价、和基于模式的多种复合优化技术。

image.png

复杂分析型查询经常包含多表join,表的join顺序直接影响查询性能。AnalyticDB优化器采用了基于代价估算和实时采样信息的join order优化算法,能够感知底层存储的数据分布。优化器利用AnalyticDB全索引特征提高了过滤因子(filter factor)估算的准确性。针对复杂join,优化器基于数据分布信息动态调整join order,同时评估数据reshuffling的代价,来从全局代价的维度选择最优的执行计划。

AnalyticDB优化器在经典基于规则优化器(Rule-Based Optimizer)的基础上增加了代价估算和迭代优化,并且集成了Cascades CBO(Cost-Based Optimizer)优化框架。CBO搜索框架会调用 Property Enforcement模块生成分布式执行计划,然后调用代价估算模块,给每一种候选计划评估代价,选择最优的分布式执行计划。为了进一步提高join order的优化效果和效率,AnalyticDB优化器还采用了基于历史信息的优化技术(History-Based Optimizer)、基于常见SQL模式的动态优化技术(Pattern-Based Optimizer),以及数据驱动的智能技术,例如Auto Analyze模块自动搜集统计信息,为优化器搜索最佳计划提供准确的数据支持。

此外,AnalyticDB优化器还针对复杂查询中经常出现的组合过滤条件、聚合算子、关联子查询等进行了一系列优化处理以提升性能。比如下推优化技术将计划中的过滤条件和聚合算子尽量推到整个链路的底层模块去执行,不但提高底层算子的效率,也减少了上游算子要处理的数据量,提高整体查询性能。针对关联子查询语句,优化器通过关系代数转化,将关联子查询改写为语义等价的非关联计划,使得计算引擎可以高效流水线处理。

3.基础版计算引擎

image.png

AnalyticDB计算引擎采用大规模并行处理MPP+DAG体系结构和基于内存的pipeline执行模式,具有高并发、低延迟的特点。为了加快对复杂表达式的求值速度,优化执行性能,计算引擎通过Runtime Codegen在运行时生成JVM bytecode,动态加载生成对象的实例,减少了执行过程中虚函数调用,提高了CPU-Intensive任务的效率。计算引擎还采用向量化执行模型处理表达式求值,利用CPU SIMD指令集来加速求值计算。

4.基础版存储引擎

image.png

AnalyticDB存储引擎采用行列混合存储的设计。如图所示。对于一张表的每k行数据(Row Group),每列数据连续的存放在单独的Data Block中,每行组的列Block的在磁盘上连续存放。行组内列Block的数据可按指定列排序存放,可以在按该列查询时显著减少磁盘随机IO次数。这种设计的独特优势是兼具了行存(适合OLTP点查询)和列存(适合OLAP多维分析)的长处,很好的满足了不同类型workload的需求:

  • 针对OLTP类型的点查询需要select出一整行的明细数据,行列混存设计下将列存的完全随机读转化为了顺序读
  • 针对OLAP类型的多维分析:不仅解决了海量数据统计分析下行存的读放大问题,而且进行单列IO时将列存的顺序读转化为了顺序跳读,进行多列IO时则将随机读转化为了顺序读
  • 写入大吞吐:列存时的随机写被转化为了顺序写

AnalyticDB存储引擎采用智能全索引,对每列数据建立一个值到行号的倒排索引。查询时,将SQL多个条件表达式的AND、OR 转换成Boolean Query同时走索引,通过搜索得到满足where条件的结果集行号,支持快速多路合并,能够在毫秒级别找出满足条件的结果集。

5.基础版优势

基础版大幅度降低了用户构建数据仓库门槛,与大数据(Hadoop,Spark和EMR)和OLTP建仓方式相比都有超高的性价比。

(1)降低使用门槛

基础版最低1.75元/小时,860元/月,与集群版相比,起步价降低了约三分之一。磁盘空间仅0.6元/GB,磁盘空间上限最大为4T,可以随时按需扩展,大大降低中小企业复杂分析和构建实时数仓的使用门槛。

(2)性能高

同等配置下其数据查询性能约为MySQL的10倍,很好地帮助用户解决MySQL复杂分析慢的痛点。

(3)规格丰富

基础版支持四种规格:T8、T16、T32和T52,可以根据业务的不同要求选择规格和任意调整规格。

(4)生态透明

上下游生态完全兼容集群版,对用户透明。

6.适合客户

特别适合以下人群:

(1)Hadoop/Spark等太复杂,想快速实现数据化转型的中小型企业;

(2)报表数据库查询慢,有交互式BI分析诉求的中小型企业;

(3)需要快速构建测试环境的进行数仓选型的用户;

(4)学习类人群,可快速了解AnalyticDB for MySQL的用户;

了解更多

点我看直播回放https://developer.aliyun.com/live/2528
惊喜优惠!体验10元3个月

相关实践学习
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
相关文章
|
1月前
|
监控 关系型数据库 MySQL
10亿数据如何最快速插入MySQL:技术干货分享
【8月更文挑战第2天】在大数据时代,处理并快速插入数十亿条数据到MySQL数据库是许多企业面临的关键挑战。本文将深入分享一系列高效的技术策略和实战经验,帮助读者优化这一过程,确保数据能够快速、准确地进入数据库系统。
96 1
|
3天前
|
存储 关系型数据库 MySQL
技术解析:MySQL中取最新一条重复数据的方法
以上提供的两种方法都可以有效地从MySQL数据库中提取每个类别最新的重复数据。选择哪种方法取决于具体的使用场景和MySQL版本。子查询加分组的方法兼容性更好,适用于所有版本的MySQL;而窗口函数方法代码更简洁,执行效率可能更高,但需要MySQL 8.0及以上版本。在实际应用中,应根据数据量大小、查询性能需求以及MySQL版本等因素综合考虑,选择最合适的实现方案。
22 6
|
29天前
|
关系型数据库 OLAP 分布式数据库
揭秘Polardb与OceanBase:从OLTP到OLAP,你的业务选对数据库了吗?热点技术对比,激发你的选择好奇心!
【8月更文挑战第22天】在数据库领域,阿里巴巴的Polardb与OceanBase各具特色。Polardb采用共享存储架构,分离计算与存储,适配高并发OLTP场景,如电商交易;OceanBase利用灵活的分布式架构,优化数据分布与处理,擅长OLAP分析及大规模数据管理。选择时需考量业务特性——Polardb适合事务密集型应用,而OceanBase则为数据分析提供强大支持。
90 2
|
7天前
|
SQL 关系型数据库 MySQL
MySQL技术安装配置、数据库与表的设计、数据操作解析
MySQL,作为最流行的关系型数据库管理系统之一,在WEB应用领域中占据着举足轻重的地位。本文将从MySQL的基本概念、安装配置、数据库与表的设计、数据操作解析,并通过具体的代码示例展示如何在实际项目中应用MySQL。
32 0
|
1月前
|
SQL 关系型数据库 MySQL
实时数仓 Hologres操作报错合集之Flink CTAS Source(Mysql) 表字段从可空改为非空的原因是什么
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
1月前
|
SQL 存储 关系型数据库
mysql加索引真的会锁表吗?揭秘背后的技术细节与规避策略
【8月更文挑战第16天】在数据库管理中,添加索引能大幅提升查询效率。MySQL执行此操作时的锁定行为常引起关注。文章详细解析MySQL中索引添加时的锁定机制及其原理。不同存储引擎及SQL语句影响锁定策略:MyISAM需全表锁定;InnoDB提供更灵活选项,如使用`ALTER TABLE... LOCK=NONE`可在加索引时允许读写访问,尽管可能延长索引构建时间。自MySQL 5.6起,在线DDL技术可进一步减少锁定时间,通过`ALGORITHM=INPLACE`和`LOCK=NONE`实现近乎无锁的表结构变更。合理配置这些选项有助于最小化对业务的影响并保持数据库高效运行。
113 4
|
1月前
|
前端开发 数据挖掘 关系型数据库
基于Python的哔哩哔哩数据分析系统设计实现过程,技术使用flask、MySQL、echarts,前端使用Layui
本文介绍了一个基于Python的哔哩哔哩数据分析系统,该系统使用Flask框架、MySQL数据库、echarts数据可视化技术和Layui前端框架,旨在提取和分析哔哩哔哩用户行为数据,为平台运营和内容生产提供科学依据。
|
1月前
|
存储 SQL 人工智能
AnalyticDB for MySQL:AI时代实时数据分析的最佳选择
阿里云云原生数据仓库AnalyticDB MySQL(ADB-M)与被OpenAI收购的实时分析数据库Rockset对比,两者在架构设计上有诸多相似点,例如存算分离、实时写入等,但ADB-M在多个方面展现出了更为成熟和先进的特性。ADB-M支持更丰富的弹性能力、强一致实时数据读写、全面的索引类型、高吞吐写入、完备的DML和Online DDL操作、智能的数据生命周期管理。在向量检索与分析上,ADB-M提供更高检索精度。ADB-M设计原理包括分布式表、基于Raft协议的同步层、支持DML和DDL的引擎层、高性能低成本的持久化层,这些共同确保了ADB-M在AI时代作为实时数据仓库的高性能与高性价比
|
1月前
|
存储 运维 Cloud Native
"Flink+Paimon:阿里云大数据云原生运维数仓的创新实践,引领实时数据处理新纪元"
【8月更文挑战第2天】Flink+Paimon在阿里云大数据云原生运维数仓的实践
214 3
|
1月前
|
监控 安全 数据中心
实时数仓Hologres容器技术问题之应用底层技术如何解决
容器技术如Docker基于Linux的namespace与cgroup技术,提供进程隔离与资源限制。这些技术早已有之,但未广泛普及。Docker创新性地提供了可分发的容器镜像格式,简化部署流程,从而促进了容器技术的大规模采用。
35 0

热门文章

最新文章