简介:伴随着大数据的发展,以及直播等新媒体行业的兴起,现在业务对实时场景的需求越发强烈,在面对高频迭代的业务需求中,如何能够确保实时、快速的获取数据,辅助业务做好实时决策呢?看支撑阿里内外部业务场景实时数仓是如何运作的?云计算情报局带您解密实时数仓!
作者:金晓军(仙隐),阿里云资深技术专家,大数据领域从业10年,现从事交互式分析引擎Hologres设计与研发工作。
一、传统数仓痛点
1)传统数据仓库痛点
目前来说,大数据相关的业务场景一般有实时大屏、实时BI报表、用户画像和监控预警等,如下图所示。
- 实时大屏业务,一般是公司领导层做决策的辅助工具,以及对外成果展示,比如双十一实时成交额大屏等场景。
- 实时BI报表,是运营和产品经理最常用到的业务场景,适用于大部分的报表分析场景。
- 用户画像,常用在广告推荐场景中,通过更详细的算法给用户贴上标签,使得营销活动更加有针对性,更加有效的投放给目标人群。
- 预警监控大屏,比如对网站、APP进行流量监控,在达到一定阈值的时候可以进行报警。

对于上面这些大数据业务场景,业界在很早之前就开始通过数据仓库的建设来满足这些场景的需求,比较传统的做法是如下图所示的离线数据仓库,其大致流程就是:首先将各类数据收集起来,然后经过ETL处理,再通过层层建模对数据进行聚合、筛选等处理,最后在需要的时候基于应用层的工具对数据进行展现,或者生成报表。

上面这种方式虽然可以对接多种数据源,但是存在一些很明显的痛点:
- ETL逻辑复杂,存储、时间成本过高;
- 数据处理链路非常长;
- 无法支持实时/近实时的数据,只能处理T+1的数据。
2)Lambda架构痛点
随着实时计算技术的兴起,出现了Lambda架构。Lambda架构的原理如下图所示,其思路其实是相当于在传统离线数仓的基础上再加上一个处理实时数据的层,然后将离线数仓和实时链路产生的数据在Serving层进行Merge,以此来对离线产生的数据和实时产生的数据进行查询。从2011年至今,Lambda架构被多数互联网公司所采纳,也确实解决了一些问题,但是随着数据量的增大、应用复杂度的提升,其问题也逐渐凸显,主要有:
- 由多种引擎和系统组合而成,开发和维护成本高,学习成本高;
- 数据在不同的View中存储多份,空间浪费,数据一致性的问题难以解决;
- 从使用上来说,Batch,Streaming以及Merge Query等处理过程中均使用不同的language,使用起来并不容易;
- 学习成本非常高,增大了应用成本。

上面讲到的问题,在阿里内部其实也都遇到过。如下图所示是阿里巴巴在2011-20

Hologres是阿里云推出的一款实时数仓产品,基于HSAP理念,融合了服务与分析,提供实时写入与查询、流批一体的存储、高性能查询引擎以及对PostgreSQL生态的兼容。它解决了传统数仓和Lambda架构的痛点,如复杂性高、成本昂贵和数据一致性问题,通过统一存储和查询服务简化了实时数仓架构,支持高并发查询和复杂分析,广泛应用于实时大屏、BI报表、用户画像和监控预警等场景。
最低0.47元/天 解锁文章
4037

被折叠的 条评论
为什么被折叠?



