云原生离线实时一体化数仓建设与实践

简介:本篇内容分享了云原生离线实时一体化数仓建设与实践。 分享人:刘一鸣 Hologres 产品经理

视频链接:数据智能实战营-北京站 专题回顾

正文:

本篇内容将通过五个部分来介绍云原生离线实时一体化数仓建设与实践。

一、离线实时一体化数仓建设难点

二、离线实时一体化数仓技术演化

三、阿里巴巴离线实时一体化数仓建设实践

四、离线实时一体化数仓参考架构

五、未来实时数仓核心趋势展望

一、离线实时一体化数仓建设难点

随着时代的发展,数据分析由通过实时大屏洞察业务变化,逐步转向数据决策和数据在线转化。实时数据的精细化运营,让每个人对数据需求,出现了指数级增长。另一方面,数据在线推荐,风控系统也严重依赖于实时数据,数据分析的力度和强度有着显著地提升。

面对蓬勃发展的数据需求,我们的数据架构也变得越来越复杂。无论是订单数据,还是行为数据,它们都通过消息中间件采集,然后经过多条加工链路。一份数据经过离线,实时,在线之后,会产生多份数据集。这套架构让运维成本,开发成本变得很高。

整个架构高成本的背后是因为有多套组件和多套存储。而多套存储带来了多份数据孤岛,导致数据的一致性无法保障。每个系统都有自己的运维方式,开发方式和使用方式。从而增加了运维成本和学习成本。

当我们回顾计算机行业的发展。在60年代,每个程序员在开发系统时,都需要自己通过离散文件,网络文件或层级文件存储状态。在80年代,大家可以通过描述的方式分析数据。到了大数据时代,数据的存储方式多种多样,同样一份数据在各个引擎里有不同的选型。虽然不同的技术在可扩展性,并行能力,吞吐能力上有所不同。但至今为止,我们分析问题的方式并发生没有本质变化。所以我相信随着数据技术的进步,数据存储还会有一个融合的过程。

我认为数仓平台的时效性有两个概念,即实时和准时。其中,只有机器做决策的场景需要实时。比如端到端数据产生和延迟,大屏风控,计算延迟,事件驱动等等。而人类做决策的时间,一般以分钟/小时/天/月为准,极度新鲜的数据并不影响人类决策的本质。只有改变决策结果的系统,才是优秀的实时系统。比如海量数据的灵活分析,自助分析等等。

大家有的时候为了数据的时效性,往往会忽视数据的质量。如果一个数仓平台只追求时效性,我们只能看到一个结果值。不但很难发现数据的质量问题,二修正成本也很高。所以一个优秀的实时数仓平台,其数据一定要可检查,可修正。

数仓平台实时化的第三个需求就是降低成本。这里主要分为开发成本,运维成本和人力成本。其中,最核心的是开发成本。我们不但要让业务与技术解耦,实现数据资产复用,业务自助开发。还要简化链路,减少依赖和传递。在运维方面,组件不但要具备很好的弹性能力,还要有托管服务,从而降低运维成本。在人力成本方面,我们要降低技术门槛和学习成本。

综上所述,一个优秀的实时数仓需要具备四个能力。第一,支持实时写入、实时事件计算、实时分析,并且满足实时和准时的需求、第二,将实时和离线融合。减少数据冗余和移动,具有简化数据,修正数据的能力。第三,实现业务与技术解耦。支持自助式分析和敏捷分析。第四,拥抱标准,拥抱生态,拥抱云原生。降低运维成本、迁移成本,SQL优先。

二、离线实时一体化数仓技术演化

接下来,我们看看离线实时一体化数仓的发展。如上图所示,阿里巴巴的第一代实时数仓,主要面向特定业务,做烟囱式开发。我们用典型的Lambda架构,实行采集,加工,服务的三步走策略。根据特定业务,进行烟囱化的建设。以任务为单位支撑应用场景,当数据预处理之后,存储到OLAP和KV引擎。但随着业务场景越来越复杂,运维开发成本越来越高。烟囱式的开发方式,已经不能适应业务变化。

于是我们有了第二代实时数仓,面向指标复用,进行数仓开发。我们引入了OLAP引擎,将小数据量明细存储在MPP数据库,支持OLAP Query。然后在DWD层,按照主题将数据源整合,构建可复用的DWS层,减少建设的烟囱化。与此同时,不同的任务和引擎中,仍沉淀了烟囱化的业务逻辑。由于不同业务的SLA不同,KV引擎和OLAP根据SLA,拆分了多个实例,导致数据运维成本和开发成本增加。与此同时,KV Schema Free的元数据管理也尤为困难。

为了解决上述问题,我们研发了第三代实时数仓,即面向统一数据服务的一站式开发。在第三代实时数仓中,我们将公共明细层和汇总层,应用明细层和汇总层,集中存储,统一管理。其次,我们将OLAP、KeyValue统一为SQL接口。然后,简化实时链路和加工链路,让数据可修正,减少外部系统的依赖。通过一站式开发,我们不但实现了数据的秒级响应,让全链路状态可见,而且整个架构的组件更少,依赖更少。有效降低了运维成本和人工成本。

三、阿里巴巴离线实时一体化数仓建设实践

接下来,我们讲一讲阿里巴巴离线实时一体化数仓建设的实践。2020年阿里巴巴双十一大屏,峰值处理消息40亿条/秒,全天处理150万亿条,GMV 3秒以内,全天延迟1~2秒。这些数据主要来自两个渠道。第一,结构化的订单数据。第二,用户点击时,产生的点击流数据。数据收集汇总之后,一部分数据进入实时加工链路,进入Flink。另一部分数据以归档的方式,进入离线数仓。离线系统以MaxCompute为主,在线系统以Hologres为主。

因为MaxComput是一项大数据计算服务。它能提供灵活快速、完全托管、高性能、低成本、安全的PB级数据仓库解决方案。所以当数据集成之后,数据进入Date Works平台,通过MaxComput,对数据进行深度分析,报表分析。MaxComput不但简单易用,拥有极致的弹性能力,而且拥有企业级的安全能力,充分保障企业的数据安全。

上图是阿里云的重要组件DateWorks。DateWorks由很多组件组成,其中包括数据治理,数据开发,数据调度,元数据管理等模块。DateWorks集成了阿里云不同的引擎,提供了优秀的元数据管理能力和企业及治理能力。

我通常将存储分为三类。第一类Transaction在线的事务系统。适合模型简单的分析场景,以TP模型解决AP的问题。第二类Analytics系统,这个系统的往往采用分布式,列存,索引。通各种压缩技巧,把海量数据分析做到极致。第三类是Serving系统,这类系统能毫秒级的响应,每秒支持上万的qps,以只读为主,更新简单。

HSAP以数仓模型解决了数据服务的问题。HSAP主要应用在数据报告,数据看版,在线应用。能够统一数据存储,统一进行数据服务。除此之外,HSAP支持离线数据的批量导入,实时数据的实时更新。

上图是一站式实时数仓的演进。无论是交互式分析,联邦查询,还是在线的高性能点查都可以减少数据的传递和依赖。数据离线加工的部分,我们继续使用MaxCompute。数据实时加工的部分使用Flink。避免数据割裂,赋能数据服务,简化运维管理。

阿里云的Hologres为分析服务一体化,设计的实时数仓。在云原生方面,与MaxCompute底层打通,透明加速,实时离线一体。在流批一体的存储方面,高吞吐数据写入,支持更新,写入即可见。在性能方面,随着CPU的多核化,我们对向量化、全异步等执行引擎优化,充分利用计算资源。

我们在阿里客户体验系统CCO的实时数仓改造中,对交易、咨询、退款等数据整合,解决了风险运营、智能排班、售前转询、现场调度等需求。做到了架构简化可靠,无数据孤岛,支持联邦查询,全流程秒级延迟。不但减少了数据同步,避免了数据延迟和数据库抖动。而且满足了双11流量10倍的增长需求。

上图反映的是,阿里客户体验系统CCO过去三年,实时加工任务的发展。连续三年,成本100%的增长,导致运维压力大,成本消耗大。经过研究CCO的技术架构,我们发现实时任务有烟囱化的遗留问题。首先,KV引擎与OLAP引擎不通,没有统一的存储。其次,公共层任务链路过长,不同实例间的数据同步,作业发生了膨胀,导致维护成本越来越高。

为了解决以上问题,我们用了Hologres技术机构,与Flink和DataWorks数据地图集成。实现了高性能写入,让元数据集成DataWorks数据地图。构建了高可靠的场景HA,实现了行列混存和资源隔离。

通过DataHub+Flink+Hologres+MaxCompute的技术架构,CCO的整体硬件资源成本下降30%,实时写入支持行存千万/秒,列存几十万/秒写入要求。在2020双11当天,查询latency平均142ms,99.99%的查询在200ms以内。除此之外,还能够支撑200+实时数据大屏搭建,为近300+小二提供稳定的数据查询服务。

四、离线实时一体化数仓参考架构

云原生的实时数仓主要分为加工层的和存储层。加工层以Flink加工为主。存储层有Hologres系统。数据的处理方式只要有三种。第一,即席查询方式;第二,准实时方式;第三,增量方式。通过这三种方式,满足了绝大多数场景的处理需求。

实时数仓的数据分析,主要应用在可视化大屏、Web应用API、BI报表系统、实时数据接口服务等等。首先,将业务系统的结构化数据,采集到实时数据缓存平台。初步分类之后,增量数据进DataHub;明细全量数据进Hologres。然后进行数据集成,Flink加工增量数据,实时更新明细数据。

然后离线任务加工结果表,由MaxCompute导入,在CDM/ADS层表为实际物理表,任务由DataWorks统一调度。最后,前端实时请求,数据实时性依赖,全部由DataWorks调度周期配置。

增量数据的实时统计,只要通过增量流,增量流join静态维,增量流join增量流,这3种场景,就能统计出数据。然后通过Flink计算、datahub进行数据存储。而ADS层的应用数据存储在Hologres。逻辑简单,实时性强。

该怎么选择MaxCompute和Hologres?这两个技术的技术原理是完全不同。MaxCompute有典型的做数据加工场景,计算过程是异步的,资源按需分配。扩展性几乎不受限制,接口标准是MC SQL。Hologres的所有任务都是同步的,复杂查询尽量避免跨多节点数据shuffle,基于Pangu,利用SSD做缓存加速,成本相对高。接口标准是PostgreSQL。

数仓开发应逐步实现减少层次,不断复用的目标。减少数据层次,敏捷适应需求变化,弱化ADS、面向DWS、DWD的应用开发。MaxCompute与Hologres底层互通,互读互写,无需外部同步工具,数据传递效率比其他软件高10倍以上。

数据开发不是一蹴而就,一定要分阶段进行。大家一定要在不同阶段,使用不同的加工方式。第一阶段,一定以获取数据为主。短平快地支撑,理解业务和数据。

第二阶段,要满足在线快速业务上线。丰富公共层明细数据,确定产品框架。
到第三阶段的成熟层时,才开始规划不同的组织架构。整个系统趋于稳定,需求成体系。与业务密切合作常态化。公共汇总层开始沉淀。

五、未来实时数仓核心趋势展望

我觉得在未来,实时数仓的核心趋势是一站式的数据平台,敏捷化的数据开发,在线化的数据服务。

一站式的实时数仓,一个系统能同时解决,OLAP分析与线上服务两个问题。一定要满足业务敏捷响应,数据自助分析,避免数据孤岛,赋能数据服务,简化运维管理。

数据服务仅是内部系统,而且要成为外部的在线系统。不但能支撑数据决策,而且要提效在线转化。最终实现数据平台的高可用,高并发。数据的低延时/低抖动,安全可靠。

最后,数据开发敏捷化。在未来,希望通过技术创新,通过空云原生的弹性能力,减少人类的瓶颈。以公共层对外提供服务,将查询灵活度从数仓工程师转移到业务分析师,让卓越计算力解决人力瓶颈。

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510892.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

议题征集|Flink Forward Asia 2022 正式启动

在这数据量爆炸性增长的时代,开源软件如雨后春笋般出现在开发者的视野中,数据的价值被重新定义。同时,越来越多的企业开启实时化道路,数据的实时分析与计算需求与日俱增。作为主打流处理的计算引擎 Apache Flink 于 2014 年正式开…

龙蜥正式开源 SysOM:百万级实战经验打造,一站式运维管理平台 | 龙蜥技术

简介:SysOM集监控、告警、诊断、修复、安全能力于一体的操作系统运维平台。 文/系统运维 SIG 如果你被突如其来的 OOPS 和满屏奇怪的函数弄得满头问号?机器内存明明很大,却申请不出来内存?业务周期抖动,ping 命令偶尔…

微软在华商业应用战略全面升级,首次推出面向医疗和生命科学的云行业套件

2022年9月29日,微软宣布进一步升级在华商业应用战略,落地一系列智能商业应用(Biz App)功能的同时,以Dynamics 365和Power Platform为基础,进一步完善商业应用战略与价值定位,助力更多客户和合作…

使用Databricks进行零售业需求预测的应用实践

简介:本文从零售业需求预测痛点、商店商品模型预测的实践演示,介绍Databricks如何助力零售商进行需求、库存预测,实现成本把控和营收增长。 作者:李锦桂 阿里云开源大数据平台开发工程师 本文从零售业需求预测痛点、商店商品模型…

龙蜥开源内核追踪利器 Surftrace:协议包解析效率提升 10 倍 | 龙蜥技术

简介:如何将网络报文与内核协议栈清晰关联起来精准追踪到关注的报文行进路径呢? 文/系统运维 SIG Surftrace 是由系统运维 SIG 推出的一个 ftrace 封装器和开发编译平台,让用户既能基于 libbpf 快速构建工程进行开发,也能作为 ft…

开源要正式写进法律了?

作者 | 何苗 出品 | CSDN(ID:CSDNnews)去年,当大家还在为开源的快速发展而欢呼之际,影响了全球数百万台计算机Log4j 漏洞事件给开源软件开发者与使用者敲响了一记警钟。因而今年,开源软件及其供应链安全…

阿里云软著申请|这项保护,让我得到了10万赔偿

简介:对于企业来说,申请软件著作权是证明自己和保护自己的强力护盾。除此之外,它还有着很多不可忽视的意义与价值。阿里云软著申请,一站式智能服务,助力企业和开发者高效发展,省时省力更省心。 前几日&…

宜搭小技巧|海量数据管理难?这招帮你事半功倍

简介:一键生成数据管理页,海量数据随心管理! 话接上回,宜小搭组织大家团建,当收集完大家的报名信息后,有小伙伴想要修改已提交的信息,面对海量的数据,整理查找太费时间。 如何快速…

1024 程序员节官方剧透:重磅大咖再聚,共话中国技术新生态

在二进制垒起的计算机世界里,1024 对于程序员而言,早已不再是单纯的一串数字,不断演进的开发时代赋予了它特殊的意义。 伴随着一份份热衷与期盼,10 月 22-24 日,由湖南湘江新区管委会主办,长沙工业与信息化…

前端性能优化实战

简介:引用彼得德鲁克的一句话,“You cant manage what you cant measure。一件事如果你无法衡量它、你就无法管理它”,性能同样如此。如果没有一个准确的方案来对性能进行度量,那优化就无从谈起。那么对于我们来说,哪些…

Elastic与阿里云助力汽车及出行产业数字化转型

简介:目前,阿里云和Elastic在全国已经有很多的项目正在开展合作,而在移动出行领域与享道出行的合作案例,则是代表性的。 在汽车产业变革逐步深入的当下,云计算、大数据等信息技术成为了汽车企业经历数字化转型时的“刚…

企业版Spark Databricks + 企业版Kafka Confluent 联合高效挖掘数据价值

简介:本文介绍了如何使用阿里云的Confluent Cloud和Databricks构建数据流和LakeHouse,并介绍了如何使用Databricks提供的能力来挖掘数据价值,使用Spark MLlib构建您的机器学习模型。 前提条件 已注册阿里云账号,详情请参见阿里云…

解决微服务架构下流量有损问题的实践和探索

简介:绝⼤多数的软件应⽤⽣产安全事故发⽣在应⽤上下线发布阶段,尽管通过遵守业界约定俗成的可灰度、可观测和可滚回的安全⽣产三板斧,可以最⼤限度的规避发布过程中由于应⽤⾃身代码问题对⽤户造成的影响。但对于⾼并发⼤流量情况下的短时间…

5月25日,阿里云开源 PolarDB-X 将迎来升级发布

简介:2022年5月25日,阿里云开源 PolarDB-X 将升级发布新版本!PolarDB-X 从 2009 年开始服务于阿里巴巴电商核心系统, 2015 年开始对外提供商业化服务,并于 2021 年正式开源。本次发布会将重磅推出在稳定性、生态融合以…

技术分享丨云企业网CEN2.技术揭晓

简介:随着企业数字化转型的加速,越来越多的企业选择了将业务部署在云上,这其中有超过20%的企业有全球组网的需求,这就使得云上网络的规模越来越大,复杂度也越来越高,为了应对这些变化,阿里云推出…

MAE 自监督算法介绍和基于 EasyCV 的复现

简介:自监督学习(Self-Supervised Learning)能利用大量无标注的数据进行表征学习,然后在特定下游任务上对参数进行微调。通过这样的方式,能够在较少有标注数据上取得优于有监督学习方法的精度。近年来,自监…

企业实践|分布式系统可观测性之应用业务指标监控

简介:本文主要讲述如何建立应用业务指标Metrics监控和如何实现精准告警。Metrics 可以翻译为度量或者指标,指的是对于一些关键信息以可聚合的、数值的形式做定期统计,并绘制出各种趋势图表。透过它,我们可以观察系统的状态与趋势。…

1024 程序员节城市嘉年华,共话技术生涯的一万种可能!

更硬核的技术峰会,更多元的主题论坛,更丰富的科技元素……更热血的 1024 程序员节闪亮登场!由湖南湘江新区管委会主办,长沙工业与信息化局、长沙信息产业园管委会与 CSDN 联合承办的第三届 2022 1024 程序员节将于 10 月 22 - 24 …

作业帮在线业务 Kubernetes Serverless 虚拟节点大规模应用实践

简介:目前方案已经成熟,高峰期已有近万核规模的核心链路在线业务运行在基于阿里云 ACKECI 的 Kubernetes Serverless 虚拟节点。随着业务的放量,未来运行在 Serverless 虚拟节点上的服务规模会进一步扩大,将节省大量的资源成本。 …

浅析微服务全链路灰度解决方案

简介:帮助应用发布版本过程中更精细化,提高了发布过程中的稳定性。服务转移⾄请求链路上进行流量控制,有效保证了多个亲密关系的服务顺利安全发布以及服务多版本并⾏开发,进⼀步促进业务的快速发展。 作者: 十眠&…