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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 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
相关文章
|
2月前
|
监控 关系型数据库 MySQL
深入了解MySQL主从复制:构建高效稳定的数据同步架构
深入了解MySQL主从复制:构建高效稳定的数据同步架构
143 1
|
4月前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
29天前
|
关系型数据库 MySQL PHP
PHP与MySQL的无缝集成:构建动态网站的艺术####
本文将深入探讨PHP与MySQL如何携手合作,为开发者提供一套强大的工具集,以构建高效、动态且用户友好的网站。不同于传统的摘要概述,本文将以一个生动的案例引入,逐步揭示两者结合的魅力所在,最终展示如何通过简单几步实现数据驱动的Web应用开发。 ####
|
27天前
|
关系型数据库 MySQL PHP
PHP与MySQL的深度整合:构建高效动态网站####
在当今这个数据驱动的时代,掌握如何高效地从数据库中检索和操作数据是至关重要的。本文将深入探讨PHP与MySQL的深度整合方法,揭示它们如何协同工作以优化数据处理流程,提升网站性能和用户体验。我们将通过实例分析、技巧分享和最佳实践指导,帮助你构建出既高效又可靠的动态网站。无论你是初学者还是有经验的开发者,都能从中获得宝贵的见解和实用的技能。 ####
21 0
|
3月前
|
机器学习/深度学习 消息中间件 搜索推荐
【数据飞轮】驱动业务增长的高效引擎 —从数据仓库到数据中台的技术进化与实战
在数据驱动时代,企业逐渐从数据仓库过渡到数据中台,并进一步发展为数据飞轮。本文详细介绍了这一演进路径,涵盖数据仓库的基础存储与查询、数据中台的集成与实时决策,以及数据飞轮的自动化增长机制。通过代码示例展示如何在实际业务中运用数据技术,实现数据的最大价值,推动业务持续优化与增长。
141 4
|
5月前
|
存储 数据挖掘 BI
数据仓库深度解析与实时数仓应用案例探析
随着数据量的不断增长和数据应用的广泛深入,数据治理和隐私保护将成为数据仓库建设的重要议题。企业需要建立完善的数据治理体系,确保数据的准确性、一致性和完整性;同时加强隐私保护机制建设,确保敏感数据的安全性和合规性。
639 55
|
2月前
|
存储 数据管理 大数据
从数据仓库到数据中台再到数据飞轮:社交媒体的数据技术进化史
从数据仓库到数据中台再到数据飞轮:社交媒体的数据技术进化史
|
4月前
|
消息中间件 存储 大数据
大数据-数据仓库-实时数仓架构分析
大数据-数据仓库-实时数仓架构分析
164 1
|
4月前
|
存储 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时代作为实时数据仓库的高性能与高性价比
|
4月前
|
存储 监控 数据挖掘
【计算机三级数据库技术】第14章 数据仓库与数据挖掘-
文章概述了数据仓库和数据挖掘技术的基本概念、决策支持系统的发展、数据仓库的设计与建造、运行与维护,以及联机分析处理(OLAP)与多维数据模型和数据挖掘技术的步骤及常见任务。
50 3