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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 阿里云分析型数据库重磅推出基础版,极大降低了用户构建数据仓库门槛。高度兼容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
相关文章
|
4月前
|
数据采集 运维 Cloud Native
Flink+Paimon在阿里云大数据云原生运维数仓的实践
构建实时云原生运维数仓以提升大数据集群的运维能力,采用 Flink+Paimon 方案,解决资源审计、拓扑及趋势分析需求。
18503 54
Flink+Paimon在阿里云大数据云原生运维数仓的实践
|
3月前
|
存储 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时代作为实时数据仓库的高性能与高性价比
|
3月前
|
存储 运维 Cloud Native
"Flink+Paimon:阿里云大数据云原生运维数仓的创新实践,引领实时数据处理新纪元"
【8月更文挑战第2天】Flink+Paimon在阿里云大数据云原生运维数仓的实践
273 3
|
4月前
|
Cloud Native 关系型数据库 MySQL
云原生数据仓库使用问题之如何将ADB中的数据导出到自建的MySQL数据库
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
4月前
|
存储 SQL Cloud Native
云原生数据仓库使用问题之运行MySQL命令发现中文内容变成了问号,该如何解决
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
5月前
|
Cloud Native 关系型数据库 MySQL
《阿里云产品四月刊》—云原生数据仓库 AnalyticDB MySQL 版 新功能
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
100 3
|
7天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####
|
14天前
|
Kubernetes Cloud Native 持续交付
云端新纪元:云原生技术重塑IT架构####
【10月更文挑战第20天】 本文深入探讨了云原生技术的兴起背景、核心理念、关键技术组件以及它如何引领现代IT架构迈向更高效、灵活与可扩展的新阶段。通过剖析Kubernetes、微服务、Docker等核心技术,本文揭示了云原生架构如何优化资源利用、加速应用开发与部署流程,并促进企业数字化转型的深度实践。 ####
|
2天前
|
运维 Kubernetes Cloud Native
Kubernetes云原生架构深度解析与实践指南####
本文深入探讨了Kubernetes作为领先的云原生应用编排平台,其设计理念、核心组件及高级特性。通过剖析Kubernetes的工作原理,结合具体案例分析,为读者呈现如何在实际项目中高效部署、管理和扩展容器化应用的策略与技巧。文章还涵盖了服务发现、负载均衡、配置管理、自动化伸缩等关键议题,旨在帮助开发者和运维人员掌握利用Kubernetes构建健壮、可伸缩的云原生生态系统的能力。 ####
|
13天前
|
监控 Cloud Native Java
云原生架构下微服务治理策略与实践####
【10月更文挑战第20天】 本文深入探讨了云原生环境下微服务架构的治理策略,通过分析当前技术趋势与挑战,提出了一系列高效、可扩展的微服务治理最佳实践方案。不同于传统摘要概述内容要点,本部分直接聚焦于治理核心——如何在动态多变的分布式系统中实现服务的自动发现、配置管理、流量控制及故障恢复,旨在为开发者提供一套系统性的方法论,助力企业在云端构建更加健壮、灵活的应用程序。 ####
59 10