于上篇随笔《数据仓库开发之路某–准备工作》中简易介绍了转数据仓库项目采取被提到到之一部分文化及工具。》中简单介绍了一下数据仓库项目下中关系到的局部知识及工具。

在上篇随笔《数据仓库开发的路有–准备工作》中简易介绍了瞬间数据仓库项目采取被涉嫌到之组成部分文化及工具,其中涉嫌到了ETL工具DataStage、BI商务智能工具BO(Business
Objects),这片磨蹭软件还是一个家伙确保的联谊,包含了不少软件集合的。

在上篇随笔《数据仓库开发的路有–准备工作
》中简易介绍了一晃数据仓库项目以被干到的片学问以及工具,其中提到到了ETL工具DataStage、BI商务智能工具BO(Business
Objects),这半磨蹭软件还是一个工具确保之成团,包含了成千上万软件集合的。
数据仓库整体项目流程是一个比较复杂的进程,设计及许多情节,从横向来拘禁,一般可以分为:
1)数据整合层,或者叫做操作数据层(ODS),根据项目之需要,可以选用。
2)数据仓库层,也便是所谓的DW层。
3)使用BO的Universe设计的数据库语义层,相关于物理表和表格视图的隔离层。
4)使用BO的Infoview设计报表(如Web Intelligence 报表文档)。

数据仓库整体项目流程是一个比较复杂的进程,设计及博情节,从横向来拘禁,一般可以分为:

其间1、2是数据准备等,3,4凡数利用等,准备阶段一般下ETL工具DataStage和和气修的个存储过程来落实,后面的行使等,主要行使了BO的套件来好报表的设计以及支付呈现等工作。
倘一般的横向开发流程示意图如下所示:

1)数据整合层,或者叫操作数据层(ODS),根据项目的要,可以选用。

以DataStage开发进程遭到,重头戏是使用DataStage
Designer来开展各种任务以及任务序列的规划工作,然后运DataStage
Diretor进行连锁的调度设计即可。在以DataStage
Designer过程遭到,总结了转开支流程,大致如下所示:
1)设计细粒度的复制数据的Server Job,然后串联各类表的Server
Job(任务)作为一个主题的Job
Sequence(任务序列),最后是串联各主题形成一个十分主题的Job
Sequence。类似于店由小组及大部门再到大片区(或还可怜集权部门)的一样种植提高集权机制。这样的益处是,我们以调度的下,只待调度最深一个Job
Sequence即可。
2)建立一个调用存储过程的ETL Job(STP Stage类型),并记下结果。这个ETL
Job调用的积存过程就是咱从定义进行数据清理加载到数据库的操作,是依自ODS-》DW的数目操作。
3)串联形成一个整机的数据仓库项目Job,如串联1、2接触之相干大主题任务吗ODS->ETL。
4)使用Director创建行时间与周期,这样系统可以活动运行进行连锁的调度操作了。

2)数据仓库层,也就算是所谓的DW层。

在数据仓库开发设计总,ETL是百分之百经过的骨干灵魂,这里的DataStage做了扳平组成部分工作,但是多少的澡和数据仓库加载的操作还得协调编写很多存储过程来完成,以便达到灵活处理,方便为何之目的。
此处设计及了数据仓库表、视图等之计划性和存储过程的计划编制操作,因此一般用遵守好各地方的命名规则及协商,以便达到方便维护管理之目的,各种内容分门别类好,对大量表明、视图、存储过程等首批数据的管制非常有帮助。
此间谈谈ETL设计要:
1)建立表命名、视图、存储过程等情节的命名规则,如数据表比较多,一般提议采用以用户名Schema的点子来区别不同的数据层,如操作数据层ODS,则足以起一个ODS的用户Schema来进展保管、数据仓库DW层,则树立DW的用户Schema来拓展保管,这样好于逻辑和说明底命名空间达到(物理及)区分不同之情节,实现性能的最大化。如下面是同种规则界定:
1)数据仓库中,表和视图的命名规则:表以T
开头,视图以V
启。下滑线后连数据仓库主题的拼音缩写,如租赁主题就是为C
,客运主题就是为K
,从业人员主题就是为CY
,依此类推。表名及视图名称的主体也汉语拼音,前面两只均拼,后面的因起字母为缩写。例如:出租的车子为主信息表为T_C_CheLiangJBXX
。详见下表。

3)使用BO的Universe设计之数据库语义层,相关于物理表和表格视图的隔离层。

2)如果表数据比较少还是根据其他原因考虑,也可设想通过前缀的方展开区分,如ODS层的多少,如以ODS_T_Accuse、ODS_T_QIYEPQ这种措施命名、DW层常用时间维度使用DW_DIM_TIME、事实表采用DW_F_H_YUNLIFENXI来表示,DW业务维度采用DW_D_H_DUNWEI来表示。
3)建立不同的Package来存放不同业务范围的囤积过程,如维度可用PKG_LOAD_DIM来定名、时间维度可以用PKG_LOAD_DIM_TIME来命名、事实表可以用PKG_LOAD_FACT_TAXI来定名等,包体里面的囤过程要清晰,附带必要的功力说明,最好以文档的一个表中详细说明包体及储存过程函数的各种消息,如数据库详细说明那样(PKG是事情定义字母,不同工作用不同的分别)。
4)如果运用不同用户Schema来分不同之数据层的做法,那么要为DW层、ODS层指定不同的表空间及仓储大小等,以便使不同物理存储带来的习性方面的升迁。
要下面是一个仓储过程的团队实例图:

4)使用BO的Infoview设计报表(如Web Intelligence 报表文档)。

计划好数据仓库的相干内容后,接着就是需要开展另外一个第一之操作,就是语义设计及表格设计了,这半桩工作是经BO工具进行完,前期的办事还是吧后面两步进行准备的。
Universe设计,就是在语义层指定表自己的涉嫌,主题的度过量值、维之间的层系关系(以便实现报表向上为下钻取的操作),Universe设计,其实就是于表的使对象同实在的表对象中确立一个逻辑对应关系和隔离关系。

 

搞好这些,就待以BO的InfoView里面设计好相关的表,通过选定Universe文件后,然后又主界面中拖拉各种维度与度量值,就可死方面的缔造各项报表,图表则拖拉报表模板上,然后拖动维度与胸襟到模板被,加载数据就好实现报表的数显示了,如下所示:

其间1、2是数量准备等,3,4凡数码利用等,准备等一般采取ETL工具DataStage和温馨编写的号存储过程来落实,后面的用等,主要用了BO的套件来就报表的宏图和开呈现等工作。

预先总结写及此,有经验再持续记录了。

假使一般的横向开发流程示意图如下所示:

于DataStage开发进程被,重头戏是行使DataStage
Designer来拓展各种任务以及任务序列的规划工作,然后采用DataStage
Diretor进行连锁的调度设计即可。在利用DataStage
Designer过程被,总结了一晃付出流程,大致如下所示:

1)设计细粒度的复制数据的Server Job,然后串联各类表的Server
Job(任务)作为一个主题的Job
Sequence(任务序列),最后是串联各主题形成一个挺主题的Job
Sequence。类似于公司于小组及大部门再到大片区(或重可怜集权部门)的一样种发展集权机制。这样的利是,我们当调度的时,只需要调度最酷一个Job
Sequence即可。

2)建立一个调用存储过程的ETL Job(STP Stage类型),并记录结果。这个ETL
Job调用的积存过程就是咱们从定义进行数量清理加载到数据库的操作,是依自ODS-》DW的数目操作。

3)串联形成一个完好的数据仓库项目Job,如串联1、2沾之系大主题任务为ODS->ETL。

4)使用Director创建行时间和周期,这样系统可自动运行进行连锁的调度操作了。

 

在数据仓库开发设计总,ETL是整套过程的中心灵魂,这里的DataStage做了扳平有工作,但是多少的涤荡和数据仓库加载的操作还需要协调编写很多仓储过程来形成,以便达到灵活处理,方便为何之目的。

此处设计及了数据仓库表、视图等之筹划和存储过程的设计编制操作,因此一般需要遵循好每面的命名规则与商,以便达到方便维护管理之目的,各种内容分门别类好,对大量表、视图、存储过程等正数据的保管特别有扶持。

此谈谈ETL设计要点:

1)建立表命名、视图、存储过程等情节的命名规则,如数据表比较多,一般建议下按用户名Schema的艺术来区别不同的数据层,如操作数据层ODS,则可以起一个ODS的用户Schema来拓展保管、数据仓库DW层,则树立DW的用户Schema来展开田间管理,这样好于逻辑和说明底命名空间上(物理及)区分不同之始末,实现性能的最大化。如下面是平栽规则界定:

1)数据仓库中,表和视图的命名规则:表以T开头,视图以V开头。下滑线后连续数据仓库主题的拼音缩写,如租赁主题就是为C,客运主题就是为K,从业人员主题就是为CY,依此类推。表名及视图名称的中心也汉语拼音,前面两个都拼,后面的盖起字母为缩写。例如:出租的车中心信息表为T_C_CheLiangJBXX。详见下表。

 

 

出租行业

客运行业

货运行业

……

基础表

T_J_XXX

主导信息表

T_C_XXJBXX

T_K_XXJBXX

T_H_XXJBXX

 

政工事实表

T_C_XX_F

T_K_XX_F

T_H_XX_F

 

月汇总表

T_C_XX_(F)_Month

T_K_XX_(F)_Month

T_K_XX_(F)_Month

 

周汇总表

T_C_XX_(F)_Week

T_K_XX_(F)_Week

T_H_XX_(F)_Week

 

视图

V_C_XXX

V_K_XXX

V_H_XXX

 

2)如果表数据较少或者根据其他因考虑,也足以设想通过前缀的不二法门开展分,如ODS层的多寡,如采取ODS_T_Accuse、ODS_T_QIYEPQ这种艺术命名、DW层常用时间维度使用DW_DIM_TIME、事实表采用DW_F_H_YUNLIFENXI来代表,DW业务维度采用DW_D_H_DUNWEI来表示。

3)建立不同之Package来存放不同业务范围的仓储过程,如维度可用PKG_LOAD_DIM来命名、时间维度可以用PKG_LOAD_DIM_TIME来定名、事实表可以用PKG_LOAD_FACT_TAXI来命名等,包体里面的囤积过程要清,附带必要之功效说明,最好以文档的一个表中详尽说明包体及仓储过程函数的各种信息,如数据库详细说明那样(PKG是事情定义字母,不同工作用不同之区分)。

4)如果用不同用户Schema来区别不同的数据层的做法,那么需要吗DW层、ODS层指定不同的表空间及仓储大小相当于,以便使不同物理存储带来的性方面的升官。

 如下面是一个储存过程的团队实例图:

 

 设计好数据仓库的相关内容后,接着就是需要展开另外一个要的操作,就是语义设计以及表格设计了,这有限宗工作是由此BO工具进行好,前期的行事且是为后两步进行准备的。

Universe设计,就是于语义层指定表自己之涉,主题的度量值、维之间的层系关系(以便实现报表向上向下钻取的操作),Universe设计,其实就是是当表的采取对象及实际的发明对象中成立一个逻辑对应关系与隔离关系。

 

盘活这些,就需在BO的InfoView里面设计好不无关系的表,通过选定Universe文件后,然后再主界面中拖拉各种维度与度量值,就足以挺方面的创建各项报表,图表则拖拉报表模板上,然后拖动维度与胸襟到模板被,加载数据就是足以兑现报表的多寡展示了,如下所示:

 先总结写及此地,有感受再持续记录了。