栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

普通实时计算与实时数仓比较

普通实时计算与实时数仓比较

离线数仓中为什么要分层?
简单概述一下:

  1. 解耦
  2. 提高数据复用性(最重要)
  3. 将复杂需求简单化,从原本的需要执行十几步,分层之后只需做一步两步
  4. 防止重复计算
  5. 可以屏蔽敏感数据
普通实时计算与实时数仓比较

普通的实时计算优先考虑时效性,所以从数据源采集经过实时计算直接得到结果。如此
做时效性更好,但是弊端是由于计算过程中的中间结果没有沉淀下来,所以当面对大量实时
需求的时候,计算的复用性较差,开发成本随着需求增加直线上升。

实时数仓基于一定的数据仓库理念,对数据处理流程进行规划、分层(传统实时计算和实时数仓最重要的区别),目的是提高数据的复用性,弊端:会牺牲一定时效性;如图:经过计算流程a,由于需要给B和C共同使用,需要把他的结果保存下来,因此会牺牲时效性,但是生产环境中表特别多,需求特别多,复用性是更为重要的一个因素。这也是为什么实时数仓比离线数仓多出一个DWM层的原因——提高复用性!

实时电商数仓,项目分为以下几层
  • ODS:原始数据,日志和业务数据
  • DWD:根据数据对象为单位进行分流(通过侧输出流),比如订单、页面访问等等
  • DIM:维度数据
  • DWM:对于部分数据对象进行进一步加工,比如独立访问、跳出行为,也可以和维度 进行关联,形成宽表,依旧是明细数据。
  • DWS:根据某个主题将多个事实数据轻度聚合,形成主题宽表。
  • ADS:把ClickHouse中的数据根据可视化需进行筛选聚合(实时数据不需要落盘)
    ODS、DWD、DWM放Kafka中
    把DIM放入Hbase,结合Phoenix使用
    DWS放入ClickHouse
    为什么不把DIM数据也放入Kafka中?
    之前离线数仓维度数据是怎么使用的 ?
    事实表关联维度表使事实表的数据补充的更全面一些;例如根据事实表中的一个uid去查DIM层的user_info表,然后把维度数据补充到事实表里面
    再思考实时数仓:Kafka的数据默认保留七天,自定义的可能更少,Kafka中数据之间不好关联
    结论:
    1.无法永久保留数据,维度数据并不能删掉
    2.维度数据保存在Kafka中无法与其他数据关联
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/689654.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号