开发者学堂课程【SaaS 模式云数据仓库实战:持续定义Saas模式云数据仓库+实时分析】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/760/detail/13341
持续定义 Saas 模式云数据仓库+实时分析
三、Max compute云数仓加实时分析
Lambda架构是离线批处理和实时流处理两种事物的融合,共用了维度表和分析结果的存储,批量从ODSDW开始,每天定时周期性存储调度分析,机器没有太多要求,但是数据量很大,计算逻辑很大。形成的业务知识沉淀还会有交互式分享,实施使用消息队列直接跑数据。按照一对一的规则直接存储,两个结果要一起融合的时候,需要用到KV存储或其他存储介质将其合并,支持上层应用。实时和批量是两种代码,两套逻辑理解不同,存储也不同。维护演示高成本语音也不同,如果有一个地方算法需要修改,那么2个地方都需要修改,如果只是因为它的实时性不同,就需要维护2个系统,维护工作量资源消耗的成本较高。而且开发周期长,业务不敏捷,没办法响应实时的变化,开发周期服务周期非常长,是Lambda架构的问题。
Kappa架构就是在Lambda架构下的优化,并不解决实时流和融合的问题。常用的方案如下:
先数据采集,flink实时写入,写到需要做交织分析的内容中,还可能会做数据库级别或者缓存级别的查询,可以实现这种营销实时库存实时报表实时大屏实时分析的功能。离线数据flick可以同时写到归档的离线中。但一个分析的实时场景中使用了很多工具。对应用来说,点查、联邦查询、实时分析、缓存基本上将开源的分析工具都用完了。这样的数据流程,任何一个单点故障的处理都是非常复杂的。 KV的存储、点查能力、MPP的计算查询能力和实时数据仓库的存储、计算、查询能力、离线能力可以归并为一个引擎,引擎可以实现结果缓存、离线加速、点查查询、联盟分析,也就是HSAP混合服务分析处理的架构。 Max compute是一个大数仓,可以做数据批处理,具有高性能,也可以做实时加载。但是查询效率相对。较差。在实时出仓的时候比较复杂,有了Hologres之后,可以在一些小规模实时场景分析中,直接完成实时数仓的能力,还可以做加速,可以实现实时和离线数据同一存储,以实时数据分析为中心进行设计,还可以作为Max compute加速,可以作为一个比较完善的融合。
Max compute原来有查询能力,但是不像Hologres可以实现点查询,交互式分析和各种分析类型的能力。而且hologres和Max compute的数据都是存储在Pangu分布式存储系统上,但有的是hologres内表,有的是Max compute内表,作为外表方式被hologres引用,后续也打算把存储和全线做统一,包括应用层次做统一,应用做统一,现在可以实现无数据搬移数据,高效分析的数仓加速能力。hologres可以对数据库的各层做数据查询加速,Alive增强,但是因为查询和处理是2个场景,更建议数仓的DWS层或者分析ADS层在交互分析加速场景中使用。
实时数仓的能力可以通过hologres建立完整的数仓,但是数仓较小。 Kappa架构是基于流式架构衍伸出来的,需要回放和关联数仓,后续还要考虑实时数据和模型如何入仓。
Kappa架构的原理就是在Lamda架构的基础上进行了优化,将实时和流部分进行了合并,将数据通道以信息列队进行替代。因此,对于Kappa架构来说,依旧以流处理为主,但是数据却在数据湖层面进行了存储。当需要进行离线分析或者再次计算的时候,则将数据湖的数据再次经过消息对列重播一次。Kappa结构看起来简洁,但是实施难度相对较高,尤其是对于数据的回放部分。流式架构是数据经过一遍,所有数据都计算出来。但是如果想要进行历史分析或者关联其他离线数据就较为麻烦。如果要30天的数据关联,就放30天的数据进来,就可以把历史和实时在同一个架构中进行。因为现在存储计算能力增强,所以有这样的想法。但是如果人对数据量的要求没有限度,有更复杂的数据源、更长的历史时间范围,那么开放架构用这种的方式就会存在问题,而且实施难度较高。而且Kappa架构依赖于kafka的分布相对列和点查分布式查询等能力,也是相对复杂的结构。如果使用Hologres就可以直接存入到Max compute Hologres中,直接做实时分析支持,从ODS到DWD这种超大实时表的存储计算,还支持AW到DWS应用级别,也允许拥有超大规模的维表。
在大规模上实时写入实时分析的能力在业内较强。可以把数据按冷热温3个使用频度来处理,冷包括oss、、 Max compute这些数据,温就是MC-Hologres把GWS和ads等偏应用的业务数据放到Hologres中,有非常快速的监护式查询分析能力,热就是实时写入、实时分析的流的查询能力, Max compute和Hologres在存储上是统一的。
四、实时分析案例
案例如下:
方案说明:
适用于电商、游戏、社交等互联网行业数据化运营,如智能推荐、日志采集分析、用户画像、数据治理、业务大屏、搜索等场景。方案优势:阿里巴巴最佳实践的大数据平台:
(1)技术领先性;
(2)降本提效;
(3)高附加值业务收益;
涉及产品:
日志服务SLS、数据传输DTS、DataHub、实时计算Flink、交互式分析、云数仓MaxCompute、数据治理DataWorks、 Quick Bl报表、DataV大屏、ES搜索、机器学习Pal
电商游戏社交的会做数据化运营,例如智能推荐、日志采集分析、用户画像和业务大屏、搜索能力等场景要求。阿里的最佳实践包括技术领先性,可以降本提效,可以附加业务价值的收益和AI、BI的能力,都属于业务价值的收益。在整个云上,阿里的产品对大数据各个场景有相应的工具支持。包括日志服务、数据传输、 GitHub、Data works数据集成、实时links交互分析。
点查就是用一个固定条件做一些优化,例如H base直接做好KV结构,用另一个固定条件直接进行查询。交互式查询就是预先没有定义好查询条件,可能有多列或者不同条件做查询,查询之后觉得结果不符合再换一个条件查询。olap分析,有多维模型,有维度表、实时表。可以在维度上做上卷下钻、做旋转贴片、拖拽包表以上 3种应用。 Hologres可以一套方案,完美结合3种能力, flink可以写入到Hologres中,有实时预警的场景,可以flink直接推到前端,也是一种应用场景,作为实时模型和数据的归档和查询。批量就是通过数据集成,传统atl,分层处理构建odsdw层模型,包括实时也可以批量往Max compute写入, Max compute也支持实时探讨实时写入。整个前端都由data works来做数据开发,治理和服务能力。以上是所有产品能力的组合,这些实时能力和批量传统数仓的能力支持前端BI应用、PAI AI分析或搜索。
友盟+是国内最大的移动应用统计服务商,它的业务痛点是数据量很大,到了PB级别,数据分析的要求是个性化自定义很强,用户行为分析能力复杂。而且需要Max compute提供离线的机器查询。的分析能力用的自研引擎和开源方案都无法满足业务需求有了Max computer和Hologres能力之后,底层有全部行为数据,对其做排序和预处理,用户分群构建一层ODS。把上层分析的数据放到Hologres中,提前预见存储和索引。使用Hologres的引擎对接业务分析引擎,生成统计数据,可以实现30秒交互式体验,分析数据可以秒级查询。 Max computer深度集成,能够使用range cluster索引加速,实时离线联邦查询,同时也可以实现冷热数据混合查询,有利于成本性能平衡。计算资源弹性伸缩,可兼顾扩展性、稳定性、性能、成本。大数据分析场景中,对比其他APP, hologres表现最好。以上场景类似于对数据仓库做查询加速。以下场景是对实时分析做离线计算后,Hologres作为实时数仓存储的场景。先用了flink做数据预处理,给用户打标签。然后基于MC算法,标签通过holo grass进行机器查询,对用户的标签属性和内容标签做关联,这些关联计算都是在Hologres中实现。通过人群圈选,就实现APP消息发送,比较轻量级。但是使用的模块也相对较少,实现的实时推荐能力全部都用Hologres承载。前面还可以对接PAI平台做复杂的实时推荐,推荐个性化短视频内容。中小级客户不一定对数据规模有高要求,但是要求架构尽量简单,实时性尽量强,就可以把它需要的标签数据简单计算,整个实施场景对接Hologres做输出,落回Max compute场景中,类似于小饭店模式,以实施场景引起,但是用Max compute能力也使其具备了数据仓库能力,后续的业务实施模型沉淀的能力。如果属于已经有一个数仓,也可以从中做分析,对性能做极致优化查询加速,后续演化出用户场景、用户行为监控等。