AnalyticDB MySQL升级为湖仓一体架构:从湖到仓,打造云原生一站式数据分析平台

简介: AnalyticDB MySQL湖仓版同时支持低成本离线处理和高性能在线分析,适合ETL/BI报表/交互式查询/APP应用等多场景,并可无缝替换CDH/TDH/Databricks/Presto/Spark/Hive等

【先打一波小广告】

阿里云AnalyticDB MySQL升级为湖仓一体架构,支持高吞吐离线处理和高性能在线分析,可无缝替换CDH/TDH/Databricks/Presto/Spark/Hive等。试用活动(5000ACU时+100GB存储)正在火热申请中,申请链接:https://free.aliyun.com/?searchKey=AnalyticDB%20MySQL,群号:33600023146



前言

云原生数据仓库产品AnalyticDB MySQL数仓版,是阿里云基于集团电商双11业务百亿次在线分析的最佳实践,推出的业界首款兼容MySQL协议,且性能全球第一(TPC-DS 10TB)的云数据仓库产品。企业只需要招一些具备SQL技能的数据分析师,搭配上一个QuickBI/DataV/自研可视化报表,就可以快速将企业的关键指标实时可视化展示,帮助企业转型成数据驱动决策的公司。


业务挑战:数据一致性和时效性较差

跟客户一起进行业务创新的过程中,我们发现随着业务客户数增长、业务复杂度变高、存量数据积累等原因,数据规模从GB级增长到接近PB级,数据格式也从TP数据源为主的结构化数据,增加了很多半结构化(JSON等)、非结构化数据。客户通常会先在数据湖中做一次离线处理,对数据进行清洗、过滤、规整等预处理,再通过数据同步工具,将数据同步到数据仓库AnalyticDB中做在线分析。

数据一旦在多个系统间进行同步,就难免会因为数据同步工具的稳定性,带来数据一致性、时效性、数据冗余等问题。比如「数据工程师」在数据湖中看到的ads表,和「数据分析师」在数据仓库中看到的ads表的数据可能是不一样的。数据的正确性,是数据分析基础中的基础。只有避免数据同步,用「一份数据」同时支撑低成本离线处理和高性能在线分析,才能真正意义上解决数据正确性问题。

今年的云栖大会上(11月4日数据库分论坛),我们重磅推出了经过1年多时间沉淀和打磨的「湖仓版」,来一起看看AnalyticDB产品对于「湖仓一体」的思考和实践。


湖仓版介绍

这是湖仓版的产品大图,橙色部分是「湖仓版」相对于「数仓版」新增的功能,灰色部分是「湖仓版」相对于「数仓版」迭代升级的功能。

左框是我们的自研引擎,包括「羲和计算引擎」和「玄武存储引擎」。右框是我们集成的开源引擎,包括「Spark计算引擎」和「Hudi存储格式」,希望借助开源的能力提供更丰富的数据分析场景。同时打通自研和开源之间的互相访问,提供更一体化的体验。我们先来聊一聊自研引擎如何真正实现基于「一份数据」和「融合引擎」的「湖仓一体」能力

自研引擎:做强核心

存储层:只需一份全量数据,满足离线在线场景

「一份数据」是指一份全量数据。这里的难点是解决既要(高性能在线分析)又要(低成本离线处理)的问题,因为本身这两种场景对于存储的诉求是比较不一致的。在线分析场景希望数据尽量在高性能存储介质上提高性能,离线处理希望数据尽量在低成本存储介质上降低存储成本。

我们给出的解决方案是,首先将一份全量数据存在低成本高吞吐存储介质上,低成本离线处理场景直接读写低成本存储介质,降低数据存储和数据IO成本,保证高吞吐。其次将实时数据存在单独的存储IO节点(EIU)上,保证「行级」的数据实时性,同时对全量数据构建索引,并通过Cache能力对数据进行加速,满足百ms级高性能在线分析场景。

   「湖仓版存储架构图」

湖仓版的「一份数据」方案,很好地解决了因为数据同步,带来的数据一致性和数据时效性问题。


计算层:羲和融合计算引擎,智能选择计算模式

支撑高性能在线分析的背后,计算部分主要是自研的「羲和计算引擎」MPP模式,但这种流式计算模式并不适合离线处理低成本和高吞吐的特点。所以,湖仓版我们在「羲和分析计算引擎」中新增加了BSP模式,通过DAG进行任务切分,分批调度,满足有限资源下大数据量计算,支持计算数据落盘。

但我们觉得MPP模式和BSP模式对于普通用户来说,理解和学习成本太高了,所以我们把「羲和计算引擎」升级成「羲和融合计算引擎」,同时提供MPP模式和BSP模式,并提供自动切换能力。自动切换能力是指当查询使用MPP模式无法在一定耗时内完成时,系统会自动切换为BSP模式进行执行。

极致弹性:千核秒级弹性能力,完美贴合业务负载

云原生的最大优势就是弹性,湖仓版通过全新基于神龙 + ECS/ECI构建的两层管控底座,提供更充足的库存保证,保证弹得起;满足了弹得起,接下去就是要弹得快。如果启动一个离线Query的资源需要10分钟,这样的效率使用体验不好,且会有较大的额外成本。湖仓版除了适合在线分析场景的「分时弹性」模式,新推出了适合离线处理场景的「按需弹性」模式,弹性速度上可以做到1200ACU(1ACU约为1Core4GB)规模的Query,弹性时间在10s左右;最后,借助WorkLoad Manager(WLM)和自感知业务负载技术,保证弹得准,贴合业务负载,降低资源成本。


开源集成:做精场景

自研是打造技术深度的基础,但同时我们积极拥抱开源,满足已经生长在开源生态上的客户可以更平滑地使用湖仓版。外表类型,在Parquet/ORC/JSON/CSV等append类型数据格式的基础上,新增支持批量更新的Hudi数据格式,帮助用户更好地低成本接入如CDC等数据。计算引擎,在做深「羲和融合计算引擎」的基础上,新增开源活跃度较高的Spark引擎,满足用户对于复杂离线处理和ML机器学习等需求。        

优势总结

为了让大家更好地记住湖仓版的优势,我们用程序员最熟悉的数字「1024」进行优势总结。

1:是指一份数据,避免数据同步带来的数据一致性、时效性、冗余等问题;

0:是指灵活弹性,用Serverless的方式贴合业务负载,保证查询性能,降低资源成本;

2:是指湖仓版同时满足低成本离线处理和高性能在线分析;

4:是指4个统一,统一计费单位、统一数据管道、统一数据管理、统一数据访问。这一部分,因为篇幅原因,我们将在下一篇文章中展开介绍。未来展望

今天,我们推出了AnalyticDB MySQL湖仓版,完成了从仓到湖,打造人人可用的云原生一站式数据分析平台的第一步。未来,我们还将在以下几个方面继续打磨和增强:

  • 云原生弹性:
  • 存储提供Serverless单副本模式,降低存储成本,提供更好的弹性能力。
  • 在线分析提供Mutil-Clusters弹性模式,更好地支撑高QPS场景。
  • 自研融合计算引擎:
  • 自适应执行框架:根据运行时信息,更精准地动态调整Plan,提升查询性能。
  • 统一执行模型:在自适应执行框架的基础上,引入Bubble Execution Model来统一执行模型(MPP/BSP),同时Bubble的切分和调度考虑运行时的集群资源和负载特征。降低用户选择执行模型成本,提升查询性能。
  • Spark引擎:
  • 提供交互式开发调试Notebook能力
  • 提供更多的内置Connector连接更多的数据源


免费试用说明

AnalyticDB MySQL湖仓版从2023年1月份开始正式商用,截至目前已有不少商用付费客户。哔哩哔哩,来自B站的陈浩也在云栖大会上分享了猫耳业务使用AnalyticDB湖仓版的价值和过程。“B站猫耳FM业务通过引入阿里云AnalyticDB MySQL湖仓版,替换原有开源离在线数据仓库,大幅降低数据仓库运维成本,并且基于AnalyticDB MySQL的分时弹性能力实现资源按需伸缩,实现资源高效利用。目前,猫耳FM业务实现数据离在线处理效率从原来的在 T+1 或 H+1大幅提升至毫秒级,支撑打赏榜排名实时刷新,提升用户参与积极性,通过提高广播剧的评论/弹幕活跃度,促进用户停留时长与付费转化。”(新华网报道)


🔥目前ADB湖仓版免费试用正在火热进行中!欢迎积极申请试用

  https://free.aliyun.com/?searchKey=AnalyticDB%20MySQL



279


 



 



相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
2月前
|
监控 数据可视化 关系型数据库
微服务架构+Java+Spring Cloud +UniApp +MySql智慧工地系统源码
项目管理:项目名称、施工单位名称、项目地址、项目地址、总造价、总面积、施工准可证、开工日期、计划竣工日期、项目状态等。
307 6
|
30天前
|
canal 消息中间件 关系型数据库
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
84 0
|
1月前
|
架构师 算法 关系型数据库
数据库架构师之道:MySQL安装与系统整合指南
数据库架构师之道:MySQL安装与系统整合指南
45 0
|
1月前
|
SQL Cloud Native 关系型数据库
AnalyticDB MySQL湖仓版是一个云原生数据仓库
【2月更文挑战第15天】AnalyticDB MySQL湖仓版是一个云原生数据仓库
24 2
|
2月前
|
存储 监控 关系型数据库
ELK架构监控MySQL慢日志
ELK架构监控MySQL慢日志
|
2月前
|
SQL 缓存 关系型数据库
从架构师角度全局理解Mysql性能优化
从架构师角度全局理解Mysql性能优化
|
2月前
|
存储 分布式计算 数据挖掘
Pig 数据分析平台
Pig 是一个基于 Hadoop 的数据分析平台,它是由 Yahoo! 开发并捐献给 Apache 软件基金会的一个开源项目。Pig 起源于 Yahoo! 的广告业务部门,旨在处理大规模数据并支持数据分析。【2月更文挑战第5天】
25 5
|
2月前
|
SQL 存储 缓存
【MySQL】一文了解MySQL的基础架构及各个组件的作用
不管是开运、运维、测试,都或多或少的要接触MySQL,了解MySQL的基础架构及各个组件之间的关系,有助于我们更加深入的理解MySQL
342 6
【MySQL】一文了解MySQL的基础架构及各个组件的作用
|
2月前
|
SQL 缓存 关系型数据库
MySQL(终结篇一)- 性能优化(配置及架构)
MySQL(终结篇一)- 性能优化(配置及架构)
602 0
|
2月前
|
算法 关系型数据库 MySQL
三高Mysql - 搭建“三高”架构之扩展与切换
三高Mysql - 搭建“三高”架构之扩展与切换
69 0

热门文章

最新文章

相关产品

  • 云原生数据仓库AnalyticDB MySQL版