当前位置:   article > 正文

大数据技术9:最流行的Flink+StarRocks 实时数据分析_starrocks+flink构建实时数仓

starrocks+flink构建实时数仓

前言:数据仓库、数据湖、湖仓一体等一系列大数据理念的成熟和落地,已快速推动着各种数据资产的搭建。StarRocks 的愿景是希望帮助客户,能够实现极速统一 OLAP 分析的技术架构,StarRocks极致的性能已经深入人心。全面支持了向量化引擎,CBO 技术,智能物化视图等等一揽子技术。使得 StarRocks 可以完成亚秒级极速 OLAP 分析,保证数据分析应用最后一公里的极速响应。Flink+StarRocks 的方案已经非常成熟了,可以成为实时分析链路性能最好的存在


1、StarRocks+Flick建实时数据分析体系

实时即未来,StarRocks 在逐渐实现这样的能力,StarRocks 和 Flink 结合去构建实时数据分析体系的联合解决方案,将在一定程度上颠覆既有的一些禁锢,形成实时数据分析新范式。

统一 OLAP 分析的趋势,以及 StarRocks 极速查询分析的核心能力。计算机科学里所有难题,都能通过加中间层的方式来解决,但是不能加的东西太多。回想 Hadoop 生态演变的过程,先有了分布式存储,解决了海量数据如何用廉价的设备,来存储的问题。又有 MapReduce 帮助我们慢悠悠的解决了,分布式处理的问题。

为了让只会写 SQL 的分析师,能够专注于业务,不用担心 Java 编程的问题,又有了 Hive 帮助我们解决,SQL 到 MR 的自动解析。当人们觉得 Shuffle 磁盘太慢,我们研究了基于内存的弹性分布式数据集 RDD以Spark为代表,让数据在内存里分布式的高效计算。

由于内存里微批的计算仍不能描述所有的实时语义,就有了为实时而生的分布式计算引擎 Flink。

早期,人们对数据的依赖还没那么深的时候,数据不管怎么进来的,最终能看到就行。随着时代的变迁,除了管理层需要看数,基层小伙伴也需要用数。于是 OLAP 分析产品,就像雨后春笋似的,有能直接聚合指标的,有能 Adhoc 探查的,有单表无敌的,有能支持数据更新的。

由于组件太多,数据在各个引擎里来回传递,时效性低,口径不一致,硬件资源,人力成本,都非常浪费。所以人们期待一种极致性能的分析型数据库,能够收敛 OLAP 分析层,开启实时数据分析新范式。

未来,你有可能通过 Flink,将实时数据从消息队列或者 TP 的 CDC 秒级的持续稳定的摄入进 StarRocks。在 StarRocks 里,直接去面向分析,开发我们的指标和模型。外表的形式也好,逻辑视图也好,CTE 也好,以最敏捷的形式快速迭代开发。开发完 SQL 逻辑之后,结合场景,哪些指标是需要高并发低延迟的服务的?哪些层是需要反复被其它下游频繁调用的?不管是宽表,还是多表关联的复杂 SQL,我们都可以按需的去上卷或构建物化。直面分析,按需加速,让数据分析的链路更经济,效率更好。


2、StarRocks 应用场景

有这样极致的分析性能,StarRocks 到底能帮我们做什么呢?这里归纳总结了 4 个比较核心的场景。

  • BI 报表类业务。这个是 StarRocks 的看家本领,不管你要加速固定报表,还是要自助式 BI,拖拉拽来探索式分析,都可以用 StarRocks 来支撑。

  • 实时类的业务。比如实时大屏,Flink+StarRocks 的方案已经非常成熟了。尤其是增量聚合类的指标,StarRocks 的聚合表模型,可以直接生成 DWS 层的 sum,min,max 的聚合指标。

  • 有一些用户在打造客户数据平台时,做用户分群、行为分析、用户画像等场景也会用 StarRocks 去做。之前很多场景是离线的,StarRocks 实时的链路也可以秒级摄入,这样离线和实时的数据可以联合分析,让数据的新鲜度更靠前。

  • 统一分析。除了刚刚讲的实时数据和离线数据的统一,StarRocks 还支持 Iceberge/Hudi/Hive 外表查询,可以实现湖和仓的联邦分析。也有客户用 StarRocks 真真切切的解决了它们的分析和服务割裂的问题,以及尝试业财一体化分析等等。


3、京东物流大数据架构演进

我们可以看下京东物流的早期架构,整体分为数据服务链路和数据分析链路,这两条线基本上是割裂的。

数据服务的链路,由 Flink 消费消息队列的数据,送入到一些数据库产品当中。主要有 ClickHouse,ES 还有 MySQL,为了接口能够提供稳定高效的查询服务。而灵活分析的场景,没有固定的模型能够应对所有查询,可能会基于 Hive 或者 Presto,以 Adhoc 的形式完成比较复杂的 SQL。

图片

总体分析,早期架构有这样一些问题:

  • 数据源多样,维护成本比较高。

  • 性能不足,写入延迟大,大促的场景会有数据积压,交互式查询体验较差。

  • 各个数据源割裂,无法关联查询,形成众多数据孤岛。然后从开发的角度,每个引擎都需要投入相应的学习开发成本,程序复杂度比较高。

今年,京东物流用 StarRocks 在实时链路里,替换掉了 ClickHouse,解决查询并发和多表关联的瓶颈。然后,在实时服务链路和数据分析链路前面,将 StarRocks 作为数据的统一查询入口,实现分析和服务的一体化。


参考链接:

Flink+StarRocks 实时数据分析新范式

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/381281
推荐阅读
相关标签
  

闽ICP备14008679号