建立数据仓库是一个解决企业数据问题应用的过程,是企业信息化发展到一定阶段必不可少的一步,也是发展数据化管理的重要基础。数仓的知识市面上的书籍和文章不少,但是实际实施依据行业不同,企业核心诉求不同,从技术到方法论各有不同。
如何实施数仓项目,本文先以传统行业的数仓切入,从整体上讲下数据仓库的实施方法论!
数据仓库的通用实施步骤
一、需求分析
需求分析是数据仓库项目重要的一个环节,数仓说到底还是服务于业务,支撑于业务,如果需求分析不准确,做了没人用,上了不好用,会直接影响业务/客户的使用,结果导致项目的失败。为了避免很坏的情况,磨刀不误砍柴工,前期一定要重视需求的调研、挖掘和分析,并采用一些严谨科学的措施和方法去做需求分析。
在实际调研过程中分享几个经验:
1、尽可能与业务方/客户方一起分析需求,引导对方将项目所要实现的整体框架和业务细节部分述清楚,更好的方式就是需求人员和设计人员基于原型来讨论,从而正确理解实际的业务需求。
2、必须实事求是地将数据仓库所能实现的目标和不容易解决的问题与协商清楚。这一个环节趟过不少坑,IT方急着上线,业务方对于项目还处于一知半解,甚至在推动的时候可能避重就轻,比如一期不满足的需求强行上,长远来看项目会产生不少推诿和扯皮,消磨的是对方的信任。
所以在需求讨论的基础上,需要理解业务工作流程,当然如果你已经具备了这个行业丰富的业务知识,那可以在需求调研的时候尽可能地让对方按照自己的思路去完成数据仓库系统的功能设计。
3、需求方群体的分类,BI项目的使用对象可以分为以下几类:数据查询者、报表查询者、企业决策者
这三类人群的需求特点完全不一样,沟通的时候需要注意区分并深刻理解。
4、需求调研的再完善,也避免不了需求变更。现实是很多情况下需求是不确定的,业务方是提不出有价值的需求的,需求今天是A明天又变成B无法一步做到位的,这都很正常,作为项目实施者要做好心理预期。
一般情况下,业务方能够提供的都是需求的整体框架部分或者是实际需求的一部分内容,不能预见未来需要增加的需求,这也注定了数仓项目是一个不断循环、反馈,使系统不断完善增长的过程。
不能规避风险但是可以减少风险,所以科学的调研尤为重要。以下是调研模板,当需求调研完成时,需要对采集结果进行分析、归纳、整理,结果形成完整的需求分析报告。
摘于《数据化建设知识图谱》
业务需求的实施目的就是真正理解企业决策者的战略性目标。在理解建立商业智能系统目标的基础上,建立有效的企业管理模式,制定出详细的企业数据仓库业务管理规范,设计出常用的ETL数据采集规范和工作流程,从而明确商业智能系统的实施范围和目标。为了提高企业的分析决策能力,可以利用当下的局域网技术和互联网技术实现企业对各种信息的查询和分析,通过建立企业业务数据模型,分析商业智能系统的系统架构、数据源之间的差异、对数据质量的评估和各种信息的处理方法,有效地提高企业商业智能系统的分析和决策能力。
二、数据仓库的逻辑分析
数据仓库在逻辑上可以分成操作型数据库、数据仓库层、数据集市层、数据分析应用层和报表展示层,其架构如下图所示:
三、设计ODS系统
ODS 可以有两种形式:ODS 数据缓冲区和ODS统一信息视图区。
① ODS数据缓冲区
ODS数据缓冲区是业务数据流动过程的第一个存储区,实现了数据仓库从各个业务系统的数据源中将数据抽取出来,并且装载到ODS数据缓冲区的这一过程,从而实现统一的全局的企业数据平台,为以后的数据抽取、清洗、转换过程打下坚实的基础。对于数据的数据源可以采用增量的方式进行抽取,对于经常变化更新的数据一般采用全量的方式进抽取。ODS数据缓冲区具有实时性的特征,ODS系统将各个孤立的业务系统的生产运营数据集成起来,组成统一的、全局的企业数据交换平台。
② ODS统一信息视图区
ODS统一信息视图区是指有选择地集成各类业务源数据,对数据进行抽取、清洗、转换操作,以数据主题域为数据集成的基础,对数据进行分类和组织,使用户能够通过统一信心视图区获得跟某个主题域相关的实时性数据。各业务系统和ODS统一信息视图区可以互相访问,可以生成具有实时性的操作性报表和查询某一主题的近期全部信息。
③ ODS数据缓冲区和ODS统一信息视图区的区别和共同点
ODS 数据缓冲区主要为业务源数据抽取到数据仓库中提供中间数据缓冲的功能,与ODS 统一信息视图区很大的区别就是数据抽取、清洗、转换、加载的转换规则和数据存储的方式不同。ODS统一信息视图区是完全按照主题的方式进行数据存储,向用户提供快速的报表展示和数据实时查询的功能。而ODS数据缓冲区的ETL规则一般只进行简单的汇总、计算,或者从操作型数据库中直接抽取而中间不进行任何转化。ODS 统一信息视图区的数据一般都是从ODS数据缓冲区中抽取过来的。
四、数据仓库建模
数据仓库建模在前面已经有了详细的介绍,数据仓库模型是IT技术开发人员、业务人员、决策管理者相互沟通的一套语言和平台。对于数据建模工程师来说,对业务的深刻理解是首要任务,因为数据仓库建模分为概念模型设计、逻辑模型设计和物理模型设计3个阶段,一般按照自顶向下的顺序依次对模型进行设计。
概念模型主要是模型设计人员对业务规则的理解,是最高层次的数据模型,几乎涵盖了业务所有的核心概念和重要的主题,为以后逻辑模型的建设打下了基础。
逻辑模型是对概念模型的分解、细化,将数据主题划分成一个个的实体和实体关系,一般将第三范式作为设计的模板。
物理模型在逻辑模型的基础上对模型实体进行细节性的描述,包括字段类型、长度、索引等因素,最后转化成数据库存储的物理表。
摘于《数据化建设知识图谱》