赞
踩
文章介绍顺序
一、数据仓库
数据仓库可以说是:面向分析的存储系统
也就是说数据仓库是存数据的,企业的各种数据往里面塞,主要目的是为了有效分析数据,后续会基于它产出供分析挖掘的数据,或者提供应用于专门业务的数据,如企业的分析性报告和各类报表,为企业的决策提供支持。
先直观了解下常用的数据架构
二、数据仓库的特点
三、ETL
ETL分别代表:抽取extraction、转换transformation、加载load
(1)抽取(Extraction)
从数据来源提取指定数据
(2)转换(transformation)
将数据转换为指定格式并进行数据清洗保证数据质量。
数据转换,如编码转换(m/f---男/女),字段转换,度量单位转换,数据粒度的转换。。。
(3)加载(Load)
将转换过后的数据加载到目标数据仓库
四、ODS
ODS:全称是Operational Data Store,操作数据存储。
存储各大业务型数据库ETL后的数据,是最接近数据源中数据的一层,主要目的为了数据集中。
五、数据模型
这里的数据模型设计并不是数据挖掘中的数据建模,它是一种数据组织方式,将数据加以整理,便于管理使用。构建数据模型是为了抽象实体与实体之间联系关系,从而表示事务关系的一种映射。
经典数据仓库模型
1、实体关系(ER)模型
数据仓库之父Immon的方法从全企业的高度设计一个3NF模型,用实体加关系描述的数据模型描述企业业务架构,在范式理论上符合3NF,它与OLTP系统中的3NF的区别,在于数据仓库中的3NF上站在企业角度面向主题的抽象,而不是针对某个具体业务流程的实体对象关系抽象,它更多的是面向数据的整合和一致性治理,正如Immon所希望达到的:“single version of the truth”。
但是要采用此方法进行构建,也有其挑战:
2、维度模型
维度模型是数据仓库领域另一位大师Ralph Kimball 所倡导,他的《The DataWarehouse Toolkit-The Complete Guide to Dimensona Modeling,中文名《数据仓库工具箱》,是数据仓库工程领域最流行的数仓建模经典。维度建模以分析决策的需求出发构建模型,构建的数据模型为分析需求服务,因此它重点解决用户如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能。
典型的代表是我们比较熟知的星形模型,以及在一些特殊场景下适用的雪花模型
下面着重介绍最常用的维度建模
维度建模中有一些比较重要的概念,理解了这些概念,基本也就理解了什么是维度建模。
1. 事实表
发生在现实世界中的操作型事件,其所产生的可度量数值,存储在事实表中。从最低的粒度级别来看,事实表行对应一个度量事件,反之亦然。
额,看了这一句,其实是不太容易理解到底什么是事实表的。
比如一次购买行为我们就可以理解为是一个事实,下面我们上示例。
p1.png
图中的订单表就是一个事实表,你可以理解他就是在现实中发生的一次操作型事件,我们每完成一个订单,就会在订单中增加一条记录。
我们可以回过头再看一下事实表的特征,在维度表里没有存放实际的内容,他是一堆主键的集合,这些ID分别能对应到维度表中的一条记录。
2. 维度表
每个维度表都包含单一的主键列。维度表的主键可以作为与之关联的任何事实表的外键,当然,维度表行的描述环境应与事实表行完全对应。 维度表通常比较宽,是扁平型非规范表,包含大量的低粒度的文本属性。
我们的图中的用户表、商家表、时间表这些都属于维度表,这些表都有一个唯一的主键,然后在表中存放了详细的数据信息。
六、数据分层
有了数据模型后,需要将数据进行分层
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。