前几次内容分享,我们一共做了三件事:
1.逐步搭建了传统hadoop大数据平台包括zookeeper、kafka、flume集群
2.采集前端埋点到hdfs
3.采集业务数据到hdfs
这样数据都采集到HDFS上了,其实就是到了数仓了!
本次我们来分享大数据的重要战场—数仓。我们会对比数据库和数仓来了解数仓的一些基本概念、用途特点等内容。
数据采集请看以下链接:
前端埋点数据采集系列
一、数仓定义
按照传统的定义,数据仓库是一个面向主题的、集成的、非易失的、反映历史变化(随时间变化),用来支持管理人员决策的数据集合。数据仓库是一套数据组织和应用的方法论,是需要很多的支持系统来协助(包含类似数据库这样的存储系统),最后达到支持分析决策的目的。
1、面向主题
关系型数据库
面向事务处理任务,用于记录状态。
数仓
数仓中的数据是按照一定的主题域进行组织,主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。每一个主题基本对应一个宏观的分析领域。
比如:银行的数据仓库的主题:客户

关系型数据库
数仓
关系型数据库
数仓
关系型数据库
数仓
关系型数据库
数仓
二、建设数仓的目的
数仓的建设并不是数据存储的最终目的地,而是为数据最终的目的地做好准备:清洗、转义、分类、重组、合并、拆分、统计等等。通过对数据仓库中数据的分析,可以帮助企业,改进业务流程、控制、成本、提高产品质量等。
1、理清数据资产提高排查和开发运维效率
场景:
不知道有什么数据、找谁要数据;
多个系统不同的数据字段的含义
数据如何生成和更新的,数据依赖关系割裂;
2、提高数据质量
场景
字段命名不规范、口径不一致;
条件的过滤和规则等的理解差异带来的算法不一致;
3、数据解耦
场景
上下游依赖混乱
复杂问题耦合在一起
每次从原始数据取数,数据开发周期长
业务数据轻微改动带来的变更过大,无中间表加工
4、解决频繁的临时性需求
场景
报送监管历史数据
临时数据需要交叉
虽然数仓建设能带来诸多的益处,但数仓的建设不是一天建成的,是一个庞大复杂耗时的工程,需要很多支持系统的配合:元数据管理系统、调度系统等,要根据业务发展所处的状态和未来的发展趋势以及分析决策的复杂性等综合来搭建。
总结:
了解数仓的特点;
了解建设数仓的目的意义,能解决什么问题等
参考:
1.数据仓库第4版




