本文大纲
一、云原生一体化数仓的发布背景
1市场情况
2挑战和痛点
二、云原生一体化数仓是什么
三、云原生一体化数仓的技术理念
1离线实时一体
2湖仓一体
3分析服务一体
4全链路数据治理
一、云原生一体化数仓的发布背景
1.市场情况
IDC年的报告显示,年全球大数据软件市场规模达预计可达.2亿人民币,相比较年的.6亿元人民币,增长12.5%;年中国大数据平台软件市场规模预计达.8亿元人民币。相比年增长36.5%。预计未来3年平均复合增长超30%。
阿里云在年上半年以明显优势位于中国大数据公有云服务市场第一。
我国的十四五规划中也明确提到,要加快数据的高价值转化,必须实现以下条件:
①大体量的数据汇聚、全环节的数据采集以及工业基础大数据的建设等。
②多样性的数据处理,包括多种数据类型、多模态以及多行业的数据处理等。
③时效性的数据流动,包括数据的动态更新、数据共享空间的建立等。
④高质量的数据治理,将数据的资产和全生命周期很好地管理起来。
⑤高价值的数据转化,包括通过数据进行政府治理、社会治理、风险控制、工业升级、金融科技的升级等。
大数据在不同的行业中已经有越来越多、越来越成熟的应用。国家规划中也明确提出,我们要培育专业化、场景化的大数据解决方案,构建多层次的工业互联网平台、建设行业的大数据平台等。
2.挑战和痛点
现阶段,各行业和产业都在利用大数据的能力进行产业升级,这也对承载整个数据分析的基础大数据的平台提出了更多和更高的要求。企业在建设大数据平台时有诸多挑战:
●时效性、准确性、性价比同时有强需求;
●越来越多的非结构化数据难以有效支撑分析决策;
●如何割裂的,异构大数据平台之上进行全域的数据分析。
顺应市场的诉求,阿里云重磅推出了云原生一体化数仓,解决各行业企业构建大数据分析平台的痛点。
二、云原生一体化数仓是什么
云原生一体化数仓是集阿里云大数据产品MaxCompute、DataWorks、Hologres三种产品能力于一体的一站式大数据处理平台。一体化数仓可以解决企业在建设大数据平台中对时效性、准确性、性价比、非结构化数据支撑分析决策、异构大数据平台之上的全域数据分析需求。
通过MaxCompute和Hologres的深度融合,提供丰富和灵活的离线实时一体化的能力,通过更加开放的对数据湖的支持以及对数据分析多样化统一管理的湖仓一体能力,通过一份数据的基础不断追求对数仓的实时化和在线化的能力结合,最后通过DataWorks自顶向下和自底向上的双向建模的能力,以及数据治理与企业数据评估模型的新能力来帮助企业更加直观地感受到自身的数据成熟度。开放的DataWorks插件体系也让客户和行业ISV围绕自身的数据去构建更多的场景化数据分析的能力,从而真正助力其业务的智能化升级。
其核心是3个一体化和全链路数据治理能力,包括离线实时一体化、湖仓一体、分析服务一体化、全链路数据治理。
A.离线实时一体
●以MaxCompute和Hologres为核心的从N到1极简架构,提供离线实时一体化海量云数仓服务;
●MaxCompute和Hologres10X性能高速原生互访,深度集成;
●MaxCompute发布EB级海量云数仓的快速查询能力。
B.湖仓一体
●持续提升易用的湖仓开发体验;
●新增非结构化数据的湖仓管理能力;
●广泛支持开源生态对接。
C.分析服务一体
●数仓实时化、敏捷化、在线化、一体化趋势明显;
●一个平台上、一份数据实现灵活探索式分析和高并发在线应用查询,同时实现良好的资源隔离和可用性;
●减少数据割裂,减少数据移动,统一数据服务出口。
D.全链路数据治理
●面向业务视角自顶向下进行数仓规范建模;
●问题驱动的可持续数据治理与企业数据治理成效评估;
●DataWorks开放平台全新升级。
三、云原生一体化数仓的技术理念
1离线实时一体
离线计算和实时计算
大数据技术发展早期是面向海量规模的大数据处理而产生的,但是随着互联网应用和技术的发展,业务在线化和精细化运营的需求越来越强烈,比如实时的GMV大屏,实时的经营数据分析,实时的用户画像和标签系统等,所以大数据技术逐渐从离线计算开始往实时化方向演进和发展。
离线数仓和实时数仓在很多场景、设计理念和产品能力上具备不同对的特点。离线数仓面向数据加工场景,而实时数仓面向数据分析场景。加工系统为调度服务,分析系统为人机交互和在线应用服务;处理的数据量,加工系统属于大数据进,大数据出,产出的是加工的结果表,而分析系统属于大数据进,小数据出,产出的是报表、大屏上的KPI;在时效性上,加工系统通过采用批次加工理念,T+1方式完成数据加工,而分析系统希望数据写入即可用,实时可更新;在使用上,加工系统是离线的作业提交,作业有进度,中间步骤可重试,分析系统是在线系统,查询是同步响应,查询只有成功和失败两种状态。不同的需求场景决定了不同的技术路线,为了扩展性,离线系统采用作业异步调度,资源计算时分配,计算存储完全解耦的设计,为了实时的性能,实时系统采用RPC同步调用,计算资源预分配,计算存储运行时绑定等技术。
在从离线到实时化发展的过程中,大数据领域出现了很多优秀的系统以应对各种不同的分析和查询场景。比如我们可以将实时的数据归档到像Hive这样的离线数仓里进行数据的离线处理后再将聚合后的小规模数据导出到mysql进行后续的报表查询或者数据访问,也有将数据经过flink流计算引擎进行前置的实时处理计算后将结果汇总到HBASE/casandra这样的KV系统进行高并发的点查,或者是实时数据直接写入clickhouse/druid这样的mpp系统里进行快速的交互式查询,还有通过presto进行多个数据源的联邦查询,总之为了实现数据的摄取、处理、分析链路的实时化,需要搭建和运维多套系统或者服务,最终造成了架构复杂、数据存储割裂、数据不一致、开发成本高等诸多的问题。
从N到1的离线实时一体化海量云数仓
阿里云为了解决这一问题,推出了以MaxCompute和Hologres为核心的离线实时一体化海量云数仓架构,它用1套架构解决了N种分析场景的需求。过去需要运维N种组件、开发N套系统、对接N种接口、N种安全策略,现在只用1个系统就都解决了,解决了数据割裂和开发复杂的问题,并且让架构变得非常简单。
在数据摄取部分,MaxCompute不仅提供传统的批量写入,也新近支持了流式写入能力以提高离线数据链路的数据写入效率和数据通道的稳定性,而Hologres提供了写入即可见的实时写入和更新能力,以保证数据写入和更新的实时性。
在数据计算部分,MaxCompute作为一个EB级海量云数仓,提供了低成本海量规模的数据存储和计算力。面向高吞吐的设计可以让一个超大规模的计算任务稳定的产出、复杂的UDF功能可支持用户通过灵活的编程进行复杂逻辑的数据处理、海量数仓里的计算任务一般会运行时间较长,从分钟到小时甚至到天级别,MaxCompute持续进行性能优化目前可将离线查询加速到秒级,也就是说具备从秒级到天级别的广谱适用性。
Hologres作为一个实时云数仓,通过很多OLAP数仓技术的创新,如CPU向量化技术、全链路异步化、以及充分利用ssd写入友好等特性提供了数据实时写入、实时更新、实时分析的云数仓服务,支持极致的高并发和亚秒级的低延迟。
MaxCompute和Hologres两个引擎在场景和技术上形成补充,相辅相成,在他们各自擅长的领域发挥极致的体验。但是他们毕竟是两套系统,为了避免数据的割裂,我们已经通过深度融合的手段,打通了两套系统的元数据和存储,可实现在数据不移动的情况下,相互访问,最终对外提供服务和分析的能力,以支持像在线应用、数据大屏、运营看板、即席查询等多种场景的要求。
MaxCompute和Hologres深度融合技术
1.元数据可见技术
通过元数据可见技术,实现不同系统之间的数据可见性,进而实现双向的读写能力。MaxCompute的表可以批量导入Hologres的元数据库中,支持MaxCompute新增表自动同步到Hologres中。反过来,也支持将Hologres的表定义为MaxCompute的外表。通过外表的元数据可见,实现了数据不搬迁,支持双向的可读可写可感知。元数据自动发现技术,更是让外表的创建和更新完全自动化,减少了大量手工运维调试的工作。用户不再需要周期性同步表结构,不再需要担心数据类型的不对齐。
2.外表加速技术
理想的状态是离线系统加工好的数据直接可以用于实时系统的交互式分析,但由于调度机制、资源分配机制等局限,仅仅通过离线系统的技术改进可以实现一定的加速效果,但如果要充分发挥交互式分析的计算力,通过实时系统的外表加速技术,可以更有质量实现离线数据的加速分析。在外表加速加速技术中,数据无需搬迁,在查询运行时,会利用实时系统的计算资源和更高效的RPC调度机制,直接访问离线系统中的存储文件。通过实时系统的常驻进程、缓存、预读取、表达式下推等技术,实现查询加速,广泛使用在BI交互式查询等场景。
3.高速直读直写
外表的实现有两种思路,一种是通过各自引擎的查询接口对接,一种是直接访问对方系统的底层存储系统。通过查询接口对接,隔离性好,接口符合规范,对接门槛低,但性能不是最优,因为调用路径更长,访问的组件更多;直接访问底层存储引擎,侵入性强,容易受到系统技术迭代变化引起的不兼容。所以大部分支持联邦查询的系统采用方案一,即标准接口的方式,比如Presto等。而阿里云MaxCompute和Hologres采用了方案二,是因为这两款产品来自于同一个核心研发团队,因此有能力解决系统不兼容的问题。两个系统共享基础的存储引擎盘古,但保留了各自在存储能力上的创新,比如索引设计,采用直读直写,相对接口方式,性能有10倍以上的提升,支持了MaxCompute向Hologres百万级每秒的数据导入场景,实现数据刷新回写立即生效。
通过以上三个角度的技术创新,实现了实时系统与离线系统的数据打通,同时保留了两个系统各自优势的场景能力。
MaxCompute快速查询能力
除了MaxCompute和Hologres的深度融合的一体化架构之外,MaxCompute作为海量云数仓也在不断的进行离线加速的努力。如何以低成本的方式对离线海量数仓实现加速,平衡客户在性能、延迟和成本上的矛盾是我们要解决的问题。
MaxCompute在原有的架构里扩展支持了内置查询加速引擎,可将离线查询加速到秒级。MaxCompute一直是一个面向吞吐优化的离线数仓,即使是一些小查询的计算任务,也经常表现出排队时间长,执行慢等问题。此次MaxCompute新发布的内置查询加速引擎,将针对小数据量的查询任务进行延迟优化。主要采用资源抢占高优先级、多层次的Cache、内存/网络shuffle、向量化执行等技术,极大缩减小查询任务e2e链路上的开销。
查询加速引擎支持多种计费模式,后付费模式支持自动识别加速,无须用户