
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在上文中给大家简单介绍了数据仓库架构的一些基础知识与架构类型等内容,而本文我们就通过案例分析来简单了解一下,实时数仓与离线数仓的区别。
1、实时数仓架构层级
底层是收集层,这一层负责收集用户的实时数据,包括Binlog、后端服务日志以及IoT数据,经过日志收集团队和DB收集团队的处理,数据将会被收集到Kafka中。这些数据不只是参与实时计算,也会参与离线计算。
收集层之上是存储层,这一层除了使用Kafka做消息通道之外,还会基于HDFS做状态数据存储以及基于HBase做维度数据的存储。
存储层之上是引擎层,包括Storm和Flink。实时计算平台会在引擎层为用户提供一些框架的封装以及公共包和组件的支持。
在引擎层之上就是平台层了,平台层从数据、任务和资源三个视角去管理。
架构的上层是应用层,包括了实时数仓、机器学习、数据同步以及事件驱动应用等。
从功能角度来看,实时计算平台主要包括作业和资源管理两个方面的功能。其中,作业部分包括作业配置、作业发布以及作业状态三个方面的功能。
在作业配置方面,则包括作业设置、运行时设置以及拓扑结构设置;
在作业发布方面,则包括版本管理、编译/发布/回滚等;
作业状态则包括运行时状态、自定义指标和报警以及命令/运行时日志等。
在资源管理方面,则为用户提供了多租户资源隔离以及资源交付和部署的能力。
2、实时数仓与离线数仓的对比
在看过前面的案例之后,我们看一下实时数仓与离线数仓在几方面的对比:
从架构上,实时数仓与离线数仓有比较明显的区别,实时数仓以Kappa架构为主,而离线数仓以传统大数据架构为主。Lambda架构可以认为是两者的中间态。
从建设方法上,实时数仓和离线数仓基本还是沿用传统的数仓主题建模理论,产出事实宽表。另外实时数仓中实时流数据的join有隐藏时间语义,在建设中需注意。
从数据保障看,实时数仓因为要保证实时性,所以对数据量的变化较为敏感。在大促等场景下需要提前做好压测和主备保障工作,这是与离线数据的一个较为明显的区别。
综上,实时数仓主要解决数据时效性问题,结合机器学习框架可以处理实时推荐、实时获取广告投放效果等智能化业务场景。实时数仓的建设应早日提上日程,未来企业对数据时效性的要求会越来越高,实时数仓会很好的解决该问题。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。