数仓(一)数仓概述

前几次内容分享,我们一共做了三件事:

1.逐步搭建了传统hadoop大数据平台包括zookeeper、kafka、flume集群

2.采集前端埋点到hdfs

3.采集业务数据到hdfs

这样数据都采集到HDFS上了,其实就是到了数仓了!

 

数据采集请看以下链接:


前端埋点数据采集系列

一、采集系统架构设计

二、mock应用系统10万条前端埋点数据

三、Flume采集数据

四、Flume消费Kafka数据到HDFS

五. 前端埋点数据采集总结
业务系统数据采集系列
一、整体架构设计以及MySQL安装配置

二、业务表建模以及mock业务数据生成

三、简析数据同步策略

四、Sqoop安装配置以及采集数据到HDFS

五、业务数据采集总结

 

一、数仓定义

 

按照传统的定义,数据仓库是一个面向主题的、集成的、非易失的、反映历史变化(随时间变化),用来支持管理人员决策的数据集合。数据仓库是一套数据组织和应用的方法论,是需要很多的支持系统来协助(包含类似数据库这样的存储系统),最后达到支持分析决策的目的。

1、面向主题

  • 关系型数据库

面向事务处理任务,用于记录状态。

  • 数仓

数仓中的数据是按照一定的主题域进行组织,主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。每一个主题基本对应一个宏观的分析领域。

比如:银行的数据仓库的主题:客户

 2、集成

  • 关系型数据库

数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的

  • 数仓

数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的。必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。 3、非易失即相对稳定的

  • 关系型数据库

数据通常实时更新,数据根据需要及时发生变化。

  • 数仓

数据仓库中包括了大量的历史数据。所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。4、随时间变化即反映历史变化

  • 关系型数据库

数据主要关心当前某一个时间段内的数据

  • 数仓

数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。5、用来支持管理人员决策的数据集合

  • 关系型数据库

数据库只关注当前时间数据,无法支持管理人员决策。

  • 数仓

系统记录了企业历史数据,可以对企业的发展历程和未来趋势做出定量分析和预测。企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础。供他们做出改善其业务经营的决策而把信息加以整理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。



二、建设数仓的目的

 

数仓的建设并不是数据存储的最终目的地,而是为数据最终的目的地做好准备:清洗、转义、分类、重组、合并、拆分、统计等等。通过对数据仓库中数据的分析,可以帮助企业,改进业务流程、控制、成本、提高产品质量等。

1、理清数据资产提高排查和开发运维效率

场景:

  • 不知道有什么数据、找谁要数据;

  • 多个系统不同的数据字段的含义

  • 数据如何生成和更新的,数据依赖关系割裂;

2、提高数据质量

场景

  • 字段命名不规范、口径不一致;

  • 条件的过滤和规则等的理解差异带来的算法不一致;

3、数据解耦

场景

  • 上下游依赖混乱

  • 复杂问题耦合在一起

  • 每次从原始数据取数,数据开发周期长

  • 业务数据轻微改动带来的变更过大,无中间表加工

4、解决频繁的临时性需求

场景

  • 报送监管历史数据

  • 临时数据需要交叉

虽然数仓建设能带来诸多的益处,但数仓的建设不是一天建成的,是一个庞大复杂耗时的工程,需要很多支持系统的配合:元数据管理系统、调度系统等,要根据业务发展所处的状态和未来的发展趋势以及分析决策的复杂性等综合来搭建。

 


总结:

    1. 了解数仓的特点;

    2. 了解建设数仓的目的意义,能解决什么问题等

 

posted @ 2024-05-06 17:46  爵岚  阅读(195)  评论(0编辑  收藏  举报