构建企业级数据仓库

      1、     肯定主题前端

 即肯定数据分析或前端展示的主题(:某年某月某地区的啤酒销售状况)。主题要体现出某一方面的各分析角度(维度)和统计数值型数据(量度)之间的关系,肯定主题时要综合考虑.数据库

2、     肯定量度数组

 肯定主题后,须要考虑分析的技术指标(:年销售额等等)。它们通常为数据值型数据,其中有些度量值不能够汇总;而有些是能够汇总起来,以便为分析者提供有用的信息。量度是要统计的指标,必须事先选择恰当,基于不一样的量度能够进行复杂关键性指标(KPI)的设计和计算性能优化

3、     肯定事实数据粒度服务器

 肯定量度以后,须要考虑该量度的汇总状况和不一样维度下量度的聚合状况.例如在业务系统中数据最小记录到秒,而在未来分析需求中,时间只要精确到天就能够了,在ETL处理过程当中,按天来汇总数据,些时数据仓库中量度的粒度就是。若是不能确认未来的分析需求中是否要精确的秒,那么,咱们要遵循最小粒度原则”,在数据仓库中的事实表中保留每一秒的数据,从而在后续创建多维分析模型(CUBE)的时候,会对数据提早进行汇总,保障产生分析结果的效率。oracle

4、     肯定维度数据库设计

维度是分析的各个角度.:咱们但愿按照时间,或者按照地区,或者按照产品进行分析。那么这里的时间,地区,产品就是相应的维度。基于不一样的维度,能够看到各个量度汇总的状况,也能够基于全部的维度进行交叉分析。工具

维度的层次(Hierarchy)和级别(Level)。例:在时间维度上,按照-季度-造成了一个层次,其中” ,”季度” ,”成为了这个层次的3个级别。咱们能够将产品大类-产品子类-产品划为一个层次,其中包含产品大类产品子类产品三个级别。性能

 咱们能够将3个级别设置成一张数据表中的3个字段,好比时间维度;咱们也可使用三张表,分别保存产品大类,产品子类,产品三部分数据,好比产品维度。优化

 创建维度表时要充分使用代理键.代理键是数据值型的ID号码(每张表的第一个字段),它惟一标识了第一维度成员。在聚合时,数值型字段的匹配和比较,join效率高。同时代理键在缓慢变化维中,起到了对新数据与历史数据的标识做用。

5、     建立事实表

 在肯定好事实数据和维度后,将考虑加载事实表。业务系统的的一笔笔生产,交易记录就是将要创建的事实表的原始数据.

 咱们的作法是将原始表与维度表进行关联,生成事实表。关联时有为空的数据时(脏数据),须要使用外链接,链接后将各维度的代理键取出放于事实表中,事实表除了各维度代理键外,还有各度量数据,不该该存在描述性信息。

 事实表中的记录条数据都比较多,要为其设置复合主键各索引,以实现数据的完整性和基于数据仓库的查询性能优化。     


元数据:

描述数据及其环境的数据。两方面用途:

首先,元数据能提供基于用户的信息,如记录数据项的业务描述信息的元数据能帮助用户使用数据。

其次,元数据能支持系统对数据的管理和维护,如关于数据项存储方法的元数据能支持系统以最有效的方式访问数据。

元数据机制主要支持如下五类系统管理功能:

(1)描述哪些数据在数据仓库中;

(2)定义要进入数据仓库中的数据和从数据仓库中产生的数据;

(3)记录根据业务事件发生而随之进行的数据抽取工做时间安排;

(4)记录并检测系统数据一致性的要求和执行状况;

(5)衡量数据质量。

 

ODS: Operational Data Store

ODS为企业提供即时的,操做型的,集成的数据集合,具备面向主题性,集成性,动态性,即时性,明细性等特色

ODS做为数据库到数据仓库的一种过渡形式,与数据仓库在物理结构上不一样,能提供高性能的响应时间,ODS<span style="font-family: 宋体;font-size: 16px" times="" "times="" new="" roman""="">设计采用混合设计方式。

ODS中的数据是"实时值",<span style="font-family: 宋体;font-size: 16px" times="" "times="" new="" roman""="">而数据仓库的数据倒是"历史值",通常ODS<span style="font-family: 宋体;font-size: 16px" times="" "times="" new="" roman""="">中储存的数据不超过一个月,而数据仓库为10年或更多.

 

Data Mart

为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据(subjectarea)。在数据仓库的实施过程当中每每能够从一个部门的数据集市着手,之后再用几个数据集市组成一个完整的数据仓库。须要注意的就是在实施不一样的数据集市时,同一含义的字段定义必定要相容,这样再之后实施数据仓库时才不会形成大麻烦。

 

DDS(decision-support system)决策支持系统

用于支持管理决策的系统。一般,DSS包括以启发的方式对大量的数据单元进行的分析,一般不涉及数据更新

 

三.什么叫OLAP?用途是什么?

 联机分析处理,On-Line Analysis Processing 即从数据仓库中抽取详细数据的一个子集并通过必要的汇集,存储到OLAP存储器中供前端分析工具读取。

OLAP系统按照数据存储格式能够分为关系OLAPRelationalOLAP,简称ROLAP)、多维OLAPMultidimensionalOLAP,简称MOLAP)和混合型OLAPHybridOLAP,简称HOLAP)三种类型。

ROLAP将分析要用的多维数据存储在关系数据库中,并根据应用的须要有选择的定义一批实视图也存储在关系数据库中

MOLAPOLAP分析所要用到的多维数据物理上存储为多维数组的形式,造成立方体的结构。

HOLAP能把MOLAPROLAP两种结构的优势有机的结合起来,能知足用户各类复杂的分析请求。

 

OLTPOLAP的区别

           OLTP                                OLAP

用户       操做人员                            决策人员

功能       平常操做                            分析决策

DB设计    面积应用                            面向主题

数据       当前的,最新的,细节的,二维的      历史的,归纳的,多维集成的,统一的

存取及规模 读取少                              大规模读

 

事实表 

事实表是包含大量数据值的一种结构。事实数据表可能表明某次银行交易,包含一个顾客的来访次数,而且这些数字信息能够汇总,以提供给有关单位做为历史的数据。

每一个数据仓库都包含一个或者多个事实数据表。事实数据表只能包含数字度量字段和使事实表与维度表中对应项的相关索引字段.,该索引包含做为外键的全部相关性维度表的主键。

事实数据表中的度量值有两中:一种是能够累计的度量值,另外一种是非累计的度量值。用户能够经过累计度量值得到汇总信息。

 

维度表

用来描述事实表的某个重要方面,维度表中包含事实表中事实记录的特性:有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者提供有用的信息,维度表包含帮助汇总数据的特性的层次结构

 

缓慢变化维:在实际状况下,维度的属性并非静态的,它会随着时间的流失发生缓慢的变化。

处理方法: 1新信息直接覆盖旧信息,2,保存多条记录,并添加字段加以区分(用y,n;0,1,2或用时间来区别新旧记录)

3.保存多条记录,并添加字段加以区分4.另外建表保存历史记录.5混合模式

 

退化维

般来讲事实表中的外键都对应一个维表,维的信息主要存放在维表中。可是退化维仅仅是事实表中的一列,这个维的相关信息都在这一列中,没有维表与之相关联。好比:发票号,序列号等等。
    
那么退化维有什么做用呢?
    1
、退化维具备普通维的各类操做,好比:上卷,切片,切块等

(上卷汇总,下钻明细;切片,切块:对二维数据进行切片,三维数据进行切块,,可获得所须要的数据)
    2
、若是存在退化维,那么在ETL的过程将会变得容易。
    3
、它可让group by等操做变得更快

粒度:granularity

是指数据仓库的数据单位中保存数据的细化或综合程度的级别,细化程度越高,粒度就越小。

 

钻取:

首先从某一个汇总数据出发,查看组成该数据的各个成员数据。

 

KPIKey Performance Indication关键业绩指标用来衡量业绩好坏好比销售这个主题,销售增加率、销售净利润就是一个KPI

 

E T L

extract/transformation/load寻找数据,整合数据,并将它们装入数据仓库的过程。

ETL是将业务系统的数据通过抽取、清洗转换以后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一块儿,为企业的决策提供分析的依据。

工做流 抽取à清洗,转换à加载    数据流 业务系统àODSà数据仓库

.抽取

方法有三种:1.利用工具,例如datastageinformaticOWBDTSSISS. 2,利用存储过程. 3,前两种工具结合.

抽取前的调研准备工做:1.弄清数据是从哪几个业务系统中来,各个业务系统的数据库服务器运行什么DBMS. 2.是否存在手工数据,手工数据量有多大。3.是否存在非结构化的数据。

抽取中的数据处理方法:

1.     业务系统服务器与DWDBMS相同时,在DW数据仓库服务器与原业条系统之间创建直接的连接关系就能够写select语句直接访问.

2.     业务系统服务器与DWDBMS不一样时,对不能创建直接连接的话,能够将源数据导入.txt文件,在导入ODS,或经过程序接口来完成.

3.     对于文件类型数据源(.txt.xls)利用数据库工程将这个数据导入指定的数据库,如(oracleSQL*LOADER,db2import)

如何实现增量抽取

业务系统会记录业务发生的时间,咱们能够用来作增量的标志,每次抽取以前首先判断ODS中记录最大的时间,而后根据这个时间去业务系统取大于这个时间全部的记录。

.清洗与转换

清洗

数据清洗的任务是过滤那些不符合要求的数据,将过滤的结果交给业务主管部门,确认是否过滤掉仍是由业务单位修正以后再进行抽取

清洗的数据种类: 1,不完整数据,2,错误数据,3重复的数据.

转换

1.不一致数据转换:编码转换(m,f;男女);字段转换(balance,bal);度量单位的转换(cm,m)

2.数据粒度的转换;业务系统数据存储很是明细的数据,而数据仓库中数据是用分析的,不须要很是明细,会将业务系统数据按照数据仓库粒度进行聚合.

3.商务规则的计算.不一样企业有不一样的业务规则,不一样的数据指标,ETL过程,将这些数据计算好以后存储在数据仓库中,供分析使用(好比KPI)

.加载通过前两步处理后的数据可直接加载入数据仓库

 

用过什么ETL工具(informaticassisowbdatastage),以及该工具简单讲述特色。

 DataStage是一套专门对多种操做数据源的数据抽取、转换和维护过程进行简化和自动化,并将其输入数据集市或数据仓库目标数据库的集成工具。

它有四个组件:Administrator:用来管理project和环境变量。Manager:用于job,表定义,的引导,引出。Designer:用来设计jobDirect:用运查看job运行日志。

 

星形模型与雪花模型的区别?

1.星星的中心是一个大的事实表,发散出来的是维度表,每个维度表用一个PK-FK链接到事实表,维度表之间彼此并不关联。一个事实表又包括一些度量值和维度。

2.雪花模型经过规范维度表来减小冗余度,也就是说,维度表数据已经被分组成一个个的表而不是使用一个大表。例如产品表被分红了产品大类和产品小类两个表。尽管这样作能够节省了空间,可是却增长了维度表的数量和关联的外键的个数。这就致使了更复杂的查询并下降了数据库的效率

 

维度建模(dimensional modeling):

是数据仓库建设中的一种数据建模方法。按照事实表,维表来构建数据仓库,数据集市。这种方法最被人普遍知晓的名字就是星型模式(Star-schema)。


什么叫查找表,为何使用替代键?(其实目的和上面同样,从基础表到缓慢维度表的过程当中的一种实现途径)

替代键(alternate key)能够是数据表内不做为主键的其余任何列,只要该键对该数据表惟一便可。换句话说,在惟一列内不容许出现数据重复的现象。

数据仓库项目最重要或须要注意的是什么,以及如何处理

数据质量,主要是数据源数据质量分析,数据清洗转换,固然也能够定量分析

数据仓库有两个重要目的,一是数据集成,二是服务BI
数据准确性是数据仓库的基本要求,而效率是项目事实的前提,数据质量、运行效率和扩展性是数据仓库项目设计、实施高明与否的三大标志;

 

代理键:

在关系型数据库设计中,是在当资料表中的候选键都不适合当主键时,例如资料太长,或是意义层面太多,就会用一个attribute来当代理主键,此主键多是用流水号,来代替可辨识惟一值的主键

在数据仓库领域有一个概念叫Surrogate key,中文通常翻译为代理关键字。代理关键字通常是指维度表中使用顺序分配的整数值做为主键,也称为代理键。代理关键字用于维度表和事实表的链接。能够避免经过主键的值就能够了解一些业务信息

相关文章
相关标签/搜索