实时数据仓库的发展、架构和趋势

本文探讨了实时数据仓库的发展,从基于 Kafka+Flink 的实时数仓1.0,到采用数据湖如 Iceberg 实现批流一体的实时数仓2.0,再到未来的实时数仓3.0,强调了存储统一在批流一体架构中的重要性,并介绍了数据湖如何解决实时数仓面临的挑战。
摘要由CSDN通过智能技术生成

当前基于 Hive 的离线数据仓库已经非常成熟,数据中台体系也基本上是围绕离线数仓进行建设。但是随着实时计算引擎的不断发展以及业务对于实时报表的产出需求不断膨胀,业界最近几年就一直聚焦并探索于两个相关的热点问题:实时数仓建设和大数据架构的批流一体建设。

实时数仓建设:实时数仓 1.0

传统意义上我们通常将数据处理分为离线数据处理和实时数据处理。对于实时处理场景,我们一般又可以分为两类,一类诸如监控报警类、大屏展示类场景要求秒级甚至毫秒级;另一类诸如大部分实时报表的需求通常没有非常高的时效性要求,一般分钟级别,比如 10 分钟甚至 30 分钟以内都可以接受。

对于第一类实时数据场景来说,业界通常的做法比较简单粗暴,一般也不需要非常仔细地进行数据分层,数据直接通过 Flink 计算或者聚合之后将结果写入 MySQL/ES/HBASE/Druid/Kudu 等,直接提供应用查询或者多维分析。如下所示:

而对于后者来说,通常做法会按照数仓结构进行设计,我们称后者这种应用场景为实时数仓,将作为本篇文章讨论的重点。从业界情况来看,当前主流的实时数仓架构基本都是基于 Kafka+Flink 的架构(为了行文方便,就称为实时数仓 1.0)。下图是基于业界各大公司分享的实时数仓架构抽象的一个方案:

这套架构总体依然遵循标准的数仓分层结构,各种数据首先汇聚于 ODS 数据接入层。再接着经过这些来源明细数据的数据清洗、过滤等操作,完成多来源同类明细数据的融合,形成面向业务主题的 DWD 数据明细层。在此基础上进行轻度的汇总操作,形成一定程度上方便查询的 DWS 轻度汇总层(注:这里没有画出 DIM 维度层,一般选型为 Redis/HBase,下文架构图中同样没有画出 DIM 维度层,在此说明)。最后再面向业务需求,在 DWS 层基础上进一步对数据进行组织进入 ADS 数据应用层&#x

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网易杭研

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值