实时数仓和离线数仓

   日期:2020-05-28     浏览:1211    评论:0    
核心提示:文章目录1.什么是大数据平台?2.数仓和数据库的区别3.大数据技术栈4.数仓的分层5. 离线数仓架构和实时数仓架构离线数仓架构实时数仓架构对比6.数仓架构发展1.什么是大数据平台?数据日益增多部署hadoop集群采集录入数据构建数据仓库数据统一计算任务统一调度数据统一查询用户统一使用2.数仓和数据库的区别项目HiveRDBMS查询语言HQLSQL数据存储HDFS本地磁盘索引无有执行MapReduceExecutor执行延时高低数数据库

文章目录

        • 1.什么是大数据平台?
        • 2.数仓和数据库的区别
        • 3.大数据技术栈
        • 4.数仓的分层
        • 5.离线数仓架构和实时数仓架构
          • 离线数仓架构
          • 实时数仓架构
          • 对比
        • 6.数仓架构发展
          • Lambda架构
          • Kappa 架构
        • 7.实时数仓建设案例
        • 8.实时数仓建设

1.什么是大数据平台?

数据日益增多 部署hadoop集群 采集录入数据 构建数据仓库 数据统一计算 任务统一调度 数据统一查询 用户统一使用

2.数仓和数据库的区别

项目 Hive RDBMS
查询语言 HQL SQL
数据存储 HDFS 本地磁盘
索引
执行 MapReduce Executor
执行延时
数据规模
  • RBO 基于规则的优化器
  • CBO 基于代价的优化器

hive使用动态CBO:在执行计划生成的过程中动态优化的方式

3.大数据技术栈

4.数仓的分层


5.离线数仓架构和实时数仓架构

离线数仓架构

数据源通过离线的方式导入到离线数仓中
数据分层架构:ODS、DWD、DM
下游应用根据业务需求选择直接读取DM

实时数仓架构

业务实时性要求不断提高,实时处理从次要部分变成主要部分
Lambda架构:在离线大数据架构基础上加了一个加速层,使用流处理技术完成实时性较高的计算
Kappa架构:一实时事件处理为核心,统一数据处理

对比
数仓类型 准确性 实时性 稳定性
离线数仓 准确度高 时延一般在一天 稳定性好,方便重算
实时数仓 准确度低 分钟级延迟 稳定性差,需考虑数据回溯

6.数仓架构发展

数据量暴增 实时性 多业务多数据源事件型数据源 经典数仓架构 离线大数据架构 Lambda架构 Kappa架构 混合架构
Lambda架构
  • 批处理层(Batch Layer):存储管理主数据集(不可变的数据集)和预先批处理计算好的视图
  • 速度处理层(Apeed Layer):实时处理新来的数据,降低批处理层的处理延时
  • 相应查询的服务层(Serving Layer): 返回预先计算的数据视图和速度层构建好数据视图的合并结果来响应查询

不足

  • 同样的需求需要开发两套一样的代码
  • 同样的逻辑计算两次,整体占用资源会增多
Kappa 架构
  • 与Lambda架构不同的是,kappa结构去掉了批处理层这一体系结构
  • 统一了数据处理方式,不再维护离线和实时两套代码逻辑

不足

  • 需求修改或历史数据重新处理都通过上游重放完成
  • 重新处理历史的吞吐能力会低于批处理
  • 并不适用于批处理和流处理代码逻辑不一致的场景

处理方式

  • 选择一个具有重放功能的、能够保存历史数据并支持多消费者的消息队列
  • 当某个或者某些指标有重新处理的需求时,从上游消息队列的最开始重新消费
  • 当新作业赶上进度后,切换业务数据源,删除老作业

7.实时数仓建设案例


8.实时数仓建设

整个架构中实时计算一般是Spark+Flink配合
消息队列Kafka一家独大,配合HBase、ES、Mysql进行数据落盘
OLAP领域Presto、Druid、Clickhouse、Greenplum等等层出不穷

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服