数据仓库分层1 .数据仓库DW1.1概述1.2主要特点1.3与数据库比较2 .数据分层2.1数据运营层ODS ) 2.2数据仓库层DW ) 2.3数据服务层/APP应用层ADS ) )
作者: AmyZYX来源: http://www.cnblogs.com/amyzhu/
1 .数据仓库DW 1.1简介数据仓库简称dw或震荡猫)数据仓库是在数据库已经大量存在的情况下,为进一步挖掘数据资源、做出决策而生成的,etl 数据仓库方案建设的目的是以前端查询和分析为基础,主要应用于在线分析OLAP ),支持复杂的分析操作,侧重于决策支持,提供直观易懂的查询结果流行的有AWS Redshift、Greenplum、Hive等。
1.2主要特点面向主题:
基于操作的数据库组织面向事务性任务,数据仓库中的数据按照特定的主题域进行组织。
主题是用户在使用数据仓库进行决策时所关注的重要方面,一个主题涉及多个操作信息系统。
整合
需要对源数据进行加工融合和统一整合
为了确保数据仓库中的信息在整个企业中具有一致的全局信息,在加工过程中必须消除源数据的不一致性。 相关关系)
不可修改
DW数据不是最新的,而是来自其他数据源
数据仓库主要为决策分析提供数据,相关操作主要是数据的查询
与时间相关
决策所需的数据仓库中的数据必须指定时间属性
1.3数据库对比DW:专门设计用于数据分析,涉及大量读取数据以了解数据之间的关系和趋势
数据库:用于捕获和存储数据
特性数据仓库事务数据库适当的工作负载分析、报告和大数据事务数据源从多个源收集,并从单个标准化数据源如事务系统)捕获数据通过根据计划批处理调度执行连续写入操作,可以最大限度地提高事务吞吐量的数据标准化/非标准化模式,从而进行了优化。 例如,星型架构和雪花架构高度标准化的静态架构数据存储使用列存储进行了优化。 数据访问经过优化,可实现简单的访问和快速的查询性能,并对单行物理块执行高吞吐量写入操作。大量小型读取操作2 .数据分层数据分层数据分层数据访问经过优化,可最小化I/O,最大化数据吞吐量不同的企业根据不同的业务需求分为不同的层次,但最基本的层次化思想在理论上可分为三个。在此基础层次的基础上,重新提出信息层次以满足不同的业务需求。
2.1数据运营层ODS ) ODS :操作数据存储数据准备区。 也称为粘贴源层。 数据仓库源系统中的数据表通常按原样保存数据表称为ODS层),作为后续数据仓库中加工数据的源。
ODS层数据源方法:
业务库
经常使用sqoop提取。 例如,每天定时提取。
认为实时通过canal拦截mysql的binlog并实时访问即可。
填积分日志
日志通常保存为文件,也可以通过flume进行计划同步
可以通过spark streaming或Flink实时访问
kafka也可以
消息队列:即来自ActiveMQ、Kafka的数据等。
2.2数据仓库层DW ) DW数据层,自下而上为DWD、DWB、DWS。
dwd :数据仓库详细信息数据层是业务层和数据仓库的隔离层。 主要对ODS数据层进行一些数据清洗和规范的操作。
数据清洗:空值、脏数据、超出极限范围
dwb :数据仓库数据基础层。 它存储了客观数据,普遍用作中间层,可以认为是大量指标的数据层。
DWS:data warehouse service数据服务层集成为基于DWB上的基础数据对某个主题域进行分析的服务数据层,一般为宽表。 用于提供后续业务查询、OLAP分析、数据发布等。
用户行为,轻度聚合
主要对ODS/DWD层数据进行轻度汇总。
2.3数据服务层/APP应用层ADS )应用程序数据服务APP应用程序数据服务。 该层主要提供数据产品和用于数据分析的数据,一般存储在ES、mysql等系统中用于在线系统。
我们说的报告数据,或者那么大幅度的表格,一般都放在这里。
3 .附录ETL
ETL :提取转换加载。 描述从源端提取、转换和将数据加载到目标端的过程。
宽敞的钟表
含义:指字段多的数据库表。 通常是与业务主体相关联的指标、纬度、属性相关联的数据库表。
特点:
由于宽表将所有不同的内容放在同一个表中,因此宽表已经不符合3范式的模型设计规范。
缺点:有大量数据
冗余
好处:查询性能的提高和便捷
宽表的设计广泛应用于数据挖掘模型训练前的数据准备,通过把相关字段放在同一张表中,可以大大提供数据挖掘模型训练过程中迭代计算的消息问题。
数据库设计三范式
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式时符合某一种设计要求的总结。
第一范式:确保每列保持原子性,即要求数据库表中的所有字段值都是不可分解的原子值。
第二范式:确保表中的每列都和主键相关。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。
作用:减少了数据库的冗余
第三范式:确保每列都和主键列直接相关,而不是间接相关。
赛车每天赚1000的方法p>
DWS:data warehouse service数据服务层集成为基于DWB上的基础数据对某个主题域进行分析的服务数据层,一般为宽表。 用于提供后续业务查询、OLAP分析、数据发布等。
用户行为,轻度聚合
主要对ODS/DWD层数据进行轻度汇总。
2.3数据服务层/APP应用层ADS )应用程序数据服务APP应用程序数据服务。 该层主要提供数据产品和用于数据分析的数据,一般存储在ES、mysql等系统中用于在线系统。
我们说的报告数据,或者那么大幅度的表格,一般都放在这里。
3 .附录ETL
ETL :提取转换加载。 描述从源端提取、转换和将数据加载到目标端的过程。
宽敞的钟表
含义:指字段多的数据库表。 通常是与业务主体相关联的指标、纬度、属性相关联的数据库表。
特点:
由于宽表将所有不同的内容放在同一个表中,因此宽表已经不符合3范式的模型设计规范。
缺点:有大量数据
冗余
好处:查询性能的提高和便捷
宽表的设计广泛应用于数据挖掘模型训练前的数据准备,通过把相关字段放在同一张表中,可以大大提供数据挖掘模型训练过程中迭代计算的消息问题。
数据库设计三范式
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式时符合某一种设计要求的总结。
第一范式:确保每列保持原子性,即要求数据库表中的所有字段值都是不可分解的原子值。
第二范式:确保表中的每列都和主键相关。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。
作用:减少了数据库的冗余
第三范式:确保每列都和主键列直接相关,而不是间接相关。