【藏经阁一起读(72)】读《Hologres 一站式实时数仓客户案例集》,你有哪些心得?
【藏经阁一起读】(72)__《Hologres 一站式实时数仓客户案例集》
本案例集收录电商/教育/游戏等6个行业共计17家客户,通过Hologres分析服务一体化架构,替换各类OLAP分析引擎与KV数据库,实现海量半结构化/结构化数据的实时写入、实时更新、实时分析。
一、实时数仓概念
大多数企业面临数据源多、结构复杂的问题,为了更好的管理数据和赋能价值,常常会在集团、部门内进行数仓建设。其中一般初期的数仓开发流程大致如下:获取数据源,进行数据清洗、扩维、加工,最终输出业务指标根据不同业务,重复进行上述流程开发,即烟囱式开发。可想而知,随着业务需求的不断增多,这种烟囱式的开发模式会暴露很多问题:代码耦合度高重复开发资源成本高监控难
数据源: 分为日志数据和业务数据两大类,包括结构化和非结构化数据。数仓类型:根据及时性分为离线数仓和实时数仓技术栈:采集(Sqoop、Flume、CDC)存储(Hive、Hbase、Mysql、Kafka、数据湖)加工(Hive、Spark、Flink)OLAP查询(Kylin、Clickhous、ES、Dorisdb、Hologres)等。
3.0 时代的实时数仓,可以定义为一站式实时数仓。这个时候的实时数仓,不仅具有高吞吐写入与更新、端到端的全链路实时加工以及低延迟高并发在线服务能力,在保证数据一致的前提下,需要支持多种负载之间完备的隔离和弹性能力,以确保各个业务互不干扰,各自按需使用资源。 同时,实时数仓的使用通常离不开离线数仓的组合关系,通过离线平台对历史数据的周期性汇聚、抽象和加工,并将结果数据导入实时数仓进行丰富和修正,需要更有效地打通实时与离线两套系统,实现元数据和数据的无缝交换,这也是实时数仓落地时需要具备的能力。这种一站式体现在存储状态的一致性,减少了不同负载之间的数据同步和存储开销,避免了数据服务层的数据孤岛难题。
实时数仓既不是传统数据库的旧瓶装新酒,也不是湖仓一体的多产品组合,它和离线数仓的本质区别是,通过对易变数据结构(包括内存结构、文件存储)和计算资源的细粒度灵活管控,更好地支撑数据的实时写入、实时更新、实时查询。
二、Hologres
从物理学原理看,地球没有被黑洞吸进去,是因为有一个临界点,这个临界点所组成的面,被证明是一个球面,也叫世界面。与此同时,黑洞里所有信息在世界面上都有投影,即 3D 全息投影技术。Hologres 想做的事情是,通过产品化的能力对数据黑洞做全息展示。
Hologres 支撑的业务的规模、复杂性和对效率的极致追求,实现了通过有些开源技术组合无法达成的数据价值目标。
Hologres 的出现也就重新定义了实时数仓的形态。 基于此,OLAP 查询和在线服务使用 Hologres,满足分析的灵活和效率,离线数仓使用MaxCompute,支撑规模性和 Serverless 扩展性,实时流式计算用 Flink,凸显端到端全实时加工,三者的结合让实时和离线计算,分析和服务都能达到一个非常好的平衡,满足业务的多种需求。
为了简化数据存储和统一数据服务,阿里云提出了 HSAP 架构理论 (Hybrid Serving& Analytical Processing,后续简称 HSAP),而 Hologres 是实践 HSAP 目标的一个具体实现。Hologres 的目标是,做分析服务一体化的实时数仓,
三、Hologres 一站式实时数仓客户案例集
3.1、电商
3.1.1、实时数仓 Hologres 首次走进阿里淘特双 11
业务简介与面临的问题 淘特(原淘宝特价版)定位为消费者带来低价且有质量的源头好货,目前仍然处于用户快速增长的阶段,其中三方线上广告投放具有规模效应大,行业成熟度高等特点,是平台用户引流的重要渠道。 由于本次大促具有时间长与高爆发两个特点,在这个过程中,我们面临这这么几个问题:∙ 流量低价获客:∙ 极简营销玩法:∙ 货商高效汰换
解决方案 围绕淘特双 10&双 11,基于上述在流量投放优化、营销玩法多维分析,品商实时排序等面临的业务问题下,我们构建了一套基于实时数仓 Hologres 的统一数据服务系统,从流量、玩法、货品全方面监控数据,支持业务在大促期间的精细化运营诉求.
挑战与优化:
实时离线的数据存在一定 GAP,在多日的周期下,差异累积放大,导致影响业务的决策判断,另一方面大促期间人力开发资源紧张,如果用离线数据进行覆盖,成本额外增加一倍。在此背景下,引入了流批一体的技术方案,使用 Hologres 进行统一存储与计算,并且通过 Blink Batch 实现了实时离线共用同一套代码,计算逻辑统一,大幅度降低了重复开发与后续运维成本。
数据同学只需要加工最明细数据,便能通过 Hologres 构建灵活多维的查询应用,整体的研发效率提升在 40%以上(单场景平均 5 人日下降至 3 人日),同时部分原本需要由在线 Blink 作业的数据计算,转变为了查询时再计算的模式,整体计算资源预计有 20%左右的减少。
3.1.2、淘菜菜 (一):基于 Flink 和 Hologres 的实时数仓架构升级之路
发展历程:从数据库到高可用实时数仓为了支持淘菜菜丰富的业务需求,其背后的技术发展历经了最初的零售通原始数据库架构、零售通传统 lambda 架构、Hologres 实时数仓、Hologres 高可用实时数仓这 4 个阶段。阶段 1:16 年之前原始架构- jstorm 阶段阶段 2:16-20 年传统架构 -FlinkSQL 阶段阶段 3:20 年实时数仓 - Flink+Hologres 阶段阶段 4:21 年高可用实时数仓-Flink+Hologres 读写分离部署
第一次架构升级:传统架构替换为 Flink+Hologres 实时数仓 1.0第二次架构升级:Flink+Hologres 高可用实时数仓 2
3.1.3、阿里 CCO:基于 Hologres 的亿级明细 BI 探索分析实践
CCO 数据洞察产品基于 Hologres 在 BI 查询场景的最佳实阶段一:预计算聚合 Cube(MOLAP)+ADB 加速查阶段二:实体 ID 轻度汇总事实表+维度表关联阶段三:基于 Hologres明细宽表的即席查询
三种方案对比:
3.1.4、Flink+Hologres 实时数仓在 Lazada 的建设及应用
Flink+Hologres 实时数仓在 Lazada 的建设及应用
LAB 平台实验的数据流加工过程
3.1.5、金蝶管易云 X Hologres:新一代全渠道电商 ERP 最佳实践
金蝶管易云在拥有巨大用户量的同时,管易云 ERP 系统也面临海量的数据分析和极速探索需求,从而帮助企业实现更加高速的业务增长。而由于之前的技术方案限制,导致我们对外提供的技术解决方案无法有效响应业务需求,业务稳定性也备受调整,于是造成企业无法充分利用数据的价值提供更好的业务支持,反而 IaaS 成本支出成为了的主要开销。
迫于这些痛点,在原先的基础上,将底层的数据库升级成了实时数仓技术 DataWorks+Hologres+Flink,助力企业数据查询秒级响应,业务需求变得更加敏捷,月 IaaS 费用节省了 50%
3.1.6、Hologres RoaringBitmap 实践:千亿级画像数据秒级分析
从技术方案角度看,一些可以实现的画像分析的方案和其缺点
Hologres 原生支持 RoaringBitmap 数据结构,特别适合大数据量级下的交并差运算,并且在画像分析的场景天然适合,因此我们最后选择了 RoaringBitmap 方案。虽然 RoaringBitmap 会带来额外的处理和优化步骤、索引构建过程,这可能会带来一定的初期成本上升。然而,如果场景中数据更新不是那么频繁,数据量级也在可控范围内,这一成本上升在可接受范围。而且使用 RoaringBitmap 带来的效率提升非常明显,最终还是选择使用这一方案进行标签和人群加速。
基于 Bitmap 的画像分析,75%的的比例在 10 秒之内可以出结果,个别由于数量级过大(例如几十亿人群规模,以及一些复杂的标签) 会有一些长耗时的执行。
统计运营常用的 10 个标签,可以看到 Bitmap 的平均耗时对比 maxCompute 耗时缩短了至少 2 倍的时间,最高能提升 20
通过 Hologres RoaringBitmap 的功能,我们技术平台实现了从原来的分钟级画像计算,到千亿级人群画像秒级分析体验,帮助业务查询效率提升几十倍,也进一步节约了计算资源。
3.2、游戏
3.2.1、37 手游云平台基于 Flink+Hologres 大数据建设实践
云平台整体设计方案
第一条链路是实时流,从 Kafka 过来,经过实时计算,实时计算之后会落到 Hologres。但是有一些场景需要扩展维度,实时计算时会用到配置表,是在 Hologres 基于行存来存储的配置表,通过点查的能力,把配置信息取出来做实时关联,最终落到 Hologres。第二条链路,可能也是大家常用的(传统的数据库还是要保留),我们会把传统的MySQL 数据库通过 DataWorks 数据集成同步到 Hologres。最后一条链路是离线的,Kafka 数据通过 DataWorks 写到 MaxCompute,写完之后会在 MaxCompute 每天定时跑任务来修整第一条线的实时数据,也就是做一个离线的修正。另外我们会把 MaxCompute 里画像数据推到另外两个组件。这里说明一下,这两个组件是为了考虑到双云部署,所以我们考虑到开源的组件,StarRocks 和HBase,这两块主要是用在画像上。最后一层是用到 Quick BI 做展示,包括用户画像也是基于 StarRocks 和 HBase 做一个查询。
上面是实时数仓,可以看到主要来源于两个地方,一个是 MySQL,一个是 Kafka。两块数据是通过 Flink 落到 Hologres,从 DWD 到 DWS 再到 ADS 逐层清洗,最终落到 Hologres。下面是离线数仓,通过 MySQL、Kafka 落到 MaxCompute,在 MaxCompute 逐步分层,最终落到 Hologres,离线这一层会修正实时的数据
3.2.2、Hologres X TapTap:毫秒级实时在线推荐
业务痛点:业务增长缓慢,急需大数据技术反哺解决方案:大数据技术架构升级,促进业务实时化、数智化高可用部署保障在线服务读写分离业务价值:推荐业务成为 TapTap 游戏分发最大来
3.2.3、乐元素 X Hologres:一站式高性能游戏运营分析平台
乐元素面对多款 DAU 超千万的热门游戏产品,每天产生海量的游戏日志数据,如何通过数据运营获引起家对兴趣,提升游戏体验,降低用户流失成为决定游戏产品成败的关键。
然而数据规模巨大、分析模式复杂,对游戏业务的运营分析数据产品形成了巨大的挑战。
一方面手游产品迭代速度快、平均生命周期短,市场、运营需要快速的对玩家动态做出判断,这要求数据流转速度必须要快;另一方面,产品、用户、营销运营关注多数据面广,既需要通过宏观数据了解产品健康状况,有需要通过多种微观数据溯源问题原因,要求数据产品需要提供高灵活性的计算能力。
基于此背景,乐元素数仓团队升级技术架构,通过阿里云 Hologres 替换开源 Hive+Presto 架构,支持运营分析更加高效、实时,显著提升运营效率,进一步辅助业务精细化运营
3.3、物流
3.3.1、递四方 X Hologres:双 11 实时物流订单最佳实践
递四方会选择 Hologres 的原因是通过调研发现它有几个特点,比较适合实际情况。
第一是 Hologres 的实时能力,满足目前递四方的实时数仓需求,支持百亿级表与亿级表之间的 JOIN,秒级查询响应,还支持实时写入、批量数据导入,拥有超高导入性能,且并发能力极强。第二是 Hologres 采用存储计算分离架构,数据存储在阿里云分布式文件系统 pangu中(类比开源 HDFS),方便按需单独扩展计算或者存储。对快速行业来说,大促和日常所需要资源不一样,能够快速扩缩容,满足业务的动态需求。同时 Hologres 支持异构 数 据 源 交 互 分 析 以 及 离 线 数 据 和 实 时 数 据 的 联 邦 查 询 , Hologres 已 经 和MaxCompute 无缝打通,能够直接在 Hologres 中加速查询 MaxCompute 离线表。第三是维护成本低、运行稳定,Hologres 作为实时数仓存储成本大约是 ADB 的 1/3。资源灵活性高,可以像 MaxCompute 一样灵活的升降配置,与阿里云大数据组件兼容性高,能降低运维成本和提高研发效能,不会对技术架构带来很大负担。 Flink+Hologres 组合作为实时数仓
3.3.2、菜鸟裹裹万能查:小包裹数据的大革新
菜鸟裹裹基于 Hologres 构建万能查产品的最佳实践。
智能化履约过程及不断精益化的业务系统,菜鸟裹裹团队急需一套一体化的数据产品,能够智能化、专业化、高效化的解决日常遇到的数据问题与需求,并在日常的数据监控与效果分析的过程中,用数据影响业务决策。
1) 业务日益增长的数据需要和不平衡不充分的数据服务发展之间的矛盾2) 在降本增效大背景下的人效匹配问题
万能查产品构想 通过目前现有的数据支撑能力,依赖 Hologres 引擎,将裹裹寄件常用且稳定的维度和指标封装于万能查中。用户可根据自己的需求筛选字段,定制化自己的报表,快速自助完成运营数据分析。
3.3.3、满帮多云环境下的实时计算实践和思考
基于实时基础数据,为了做出实时的智能决策,应该如何去抽象整个公司实时数仓的建设?物流本身是一个强 LBS 位置关系的应用场景,它和电商不一样,物流更重车和货。所以在构建实时数仓的时候,满帮以位置维度为核心,在各个维度下面的数据,把位置信息给加上去,可以做更好的关联。必要的时候还会做成一张大宽表。
在做实时数据的时候,更多的是去想如何快速的赋能业务,去做实时智能的决策,提高整个公司的决策效率和效果。车货匹配、决策定价,调度决策、供需监控,客服决策,这些都是需要实时赋能业务的。 在实时数仓和实时智能决策平台这两层,很多公司都是靠数据解决方案的同学去赋能业务,但是满帮想用更高的人效来服务业务,所以在中间还抽象了一层叫做实时供需引擎。 实时供需引擎的作为包括:
本质抽象:把决策的本质,对于实时数据本质的诉求抽象出来。价值度量:推导实时数据对业务的价值是什么样的。价值挖掘:作为数仓和业务之间的一个联动方,在这里面去挖掘更多价值,比如基于实时行为的预测,基于风控的管理。满帮在实时数仓里面的建设,实际上是进行两层推导的。第一层从左到右是产出实时数仓,从右到左是产生实时的供需引擎。
3.4、教育
3.4.1、新东方基于 Hologres 实时离线一体化数仓建设实践
从以上的表格能看出,Tidb 和 Hologres 可以较好地解决新东方在大数据方面面临的问题。但是 Tidb 需要私有云部署并运维,而 MaxCompute 部署在公有云,两者在不同的云环境。
Hologres 是阿里云提供的云原生服务,并与 MaxCompute 都部署在公有云,且在 Pangu 文件层紧密集成,数据交换效率远高于其他外部系统,两者都兼容 PostgreSQL,从离线数据仓库开发迁移到实时数据仓库开发难度降低。
基于以上的分析,选择 Hologres 作为实时数仓。
3.4.2、替换 Kudu,Hologres 助力好未来网校实时数仓降本增效
Hologres 全面替换 Kudu 作为主 OLAP 引擎 选择了 Hologres 作为实时数仓的主 OLAP 引擎之后,通过 Hologres 替换了 Kudu 的所有数据处理链路,同时也通过 Hologres 读写分离部署的方式,以只读从实例(简称从库)替换了原 PolarDB/MySQL 等查询引擎,以此构成了实时数仓 2.0。
数据链路如下:
数据分为离线和实时两部分。离线部分数据源数据通过集团采集工具 T-Collect 接入Hologres ODS 层,实时部分通过 Flink 实时接入 MySQL Binlog、埋点日志等数据入替换 Kudu,Hologres 仓。在 Hologres 中对数仓分为 ODS、DWD、DWS、ADS 等 4 层,每一层的数据通过集团T-Data 平台分钟级调度、清洗,并最后由 Hologres 从库提供线上服务出口。实时和离线数据统一由 Hologres 存储,并由从库作为查询引擎统一提供线上数据出口,支撑的业务场景包括实时看板、实时大屏、实时接口服务、实时推送等场景。
3.5、广告
3.5.1、阿里妈妈 Dolphin 智能计算引擎基于 Flink+Hologres 实践
选择 Flink+Hologres 这套架构主要来源于对底层引擎的强需求:1) 高性能广告场景对延迟有着很敏感的要求,如果底层引擎的性能不足,即使上层应用再做优化,也会导致计算性能大打折扣,从而导致广告投放等不精准。2) 可扩展底层引擎需要足够的可扩展,这样上层应用才能更加灵活的去承接新的业务、新的场景,应对业务高低峰期等情况
3.5.2、小迈科技 X Hologres:高可用的百亿级广告实时数仓建设
通过 Hologres+Flink+MaxCompute 搭建的流批一体实时数仓平台,支撑了小迈多个应用场场景,包括监控大盘,DMP 人群等智能投放,财务分析等。
显著的业务收益有:
上层服务共享数据 数据共享之后就由平台统一对外输出服务,各个业务线无需自行重复开发,就能快速得到平台提供的数据支撑,减少了数据孤岛。
亿级复杂查询秒级响应 通过 Hologres 自身的优秀查询性能,再配合建表和 SQL 的优化手段,大大提高了报表的响应速度,即使是用户画像、行为分析等亿级大表复杂关联查询也能很快出结果,得到了业务的认可。
系统读写分离稳定性强 通过 Hologres 共享存储实例部署的方式,让业务实现了读写分离,同时也只用了一份存储,既保证了系统的稳定性,同时也不会带来额外的成本压力。
3.6、金融
3.6.1、诺亚财富 X Hologres : 统一 OLAP 分析引擎,全面打造金融数字化分析平台
根据业务需求评估了四个维度:
自建 CDH 迁移上云,Hologres 助力统一 OLAP 分析
整个数据中台依托于 DataWorks,离线部分在 MaxCompute 中进行,通过 DataWorks的数据同步模块把离线部分同步到 MaxCompute 和实时部分同步到 Hologres,然后利用 Flink 的把神策埋点的 Kafka 数据清洗同步到 Hologres 中,同时也通过 Hologres 的外表把 MaxCompute 的数据迁移到 Hologres 中,保证统一 OLAP 分析引擎。
四、个人体会
通过阅读这本《Hologres 一站式实时数仓客户案例集》,我对Hologres有了更深入的了解,每个行业都有其独特的需求和挑战,Hologres以其强大一站式实时数据仓库引擎,支持海量数据实时写入、实时更新、实时分析,与MaxCompute、Flink、DataWorks 深度融合,提供离在线一体化全栈数仓解决方案,广泛应用在实时数据中台建设、精细化分析、自助式分析、营销画像、人群圈选、实时风控等场景,为案例企业提供了个性化的解决方案,帮助它们在激烈的竞争中保持优势。
随着 Hologres 云原生引擎的诞生,我们已经可以窥到湖仓一体可能的实现和使用方式,并以此支撑异构多元智能计算。
未来有希望能够利用 Hologres 服务与分析一体化的能力,并结合 AI 处理,在一个平台、一个组件上快速完成数据加工,将业务价值通过技术平台高效释放。
案例企业选择了阿里云 Hologres 作为解决方案,一般都是有几个特点比较符合案例的业务需求:
分布式系统:原生的分布式系统,自研存储引擎和计算引擎,可以实现数据的高性能写入、更新以及高并发的查询,且查询效率高。 易扩展:天然的存储计算分离架构,可以根据业务需求动态增加存储和计算能力,满足电商业务的高低峰流量属性,也减少成本压力。 高安全性:数据存储在 Pangu 分布式系统,天然具备 3 副本,同时 Hologres 本身也支持数据脱敏、IP 白名单等安全能力,提高了数据的访问性能和可用性。 高度的隔离性:有共享存储的资源隔离方案,这样就能满足我们不同业务、不同场景的隔离需求,提升系统的稳定性 利用 Hologres 的 OLAP 查询能力,能够在大促当天支持业务做实时分析,业务可以根据业务诉求,比如目标人群覆盖不够,GMV 达成不足时,就能在极短时间内进行快速查询与分析,然后做下一步的运营策略,如圈选优惠券发放的目标人群,同时也能实时检测流量、权益等数据,方便运营动态调整策略
通过 Hologres+Flink+MaxCompute 搭建的流批一体实时数仓平台,可以支撑多个应用场场景,包括监控大盘,DMP 人群等智能投放,财务分析等。
利用 Hologres RoaringBitmap 能力,实现更快更准的画像分析。
Hologres 在不同行业中有着广泛应用和巨大潜力。
赞10
踩0