建立数据仓库是解决企业问题的过程。业务人员往往不知道如何建立和使用数据仓库,以及如何发挥他们在决策支持中的作用。IT部门的人往往不了解业务,不知道应该建立什么决策主题,从数据源中提取什么数据。因此,数据仓库的项目团队应该由业务人员和IT人员组成,双方需要相互沟通和合作来开发数据仓库。
开发数据仓库的过程包括以下步骤。
系统分析,确定主题
建立数据仓库的第一步是通过与业务部门充分沟通,了解建立数据仓库所要解决的问题的真正含义,确定各种主题下的查询分析需求。
业务人员往往会列出很多需要解决的问题,IT人员要对这些问题进行分类总结,确定数据仓库实现的业务功能。一旦发现问题,IT人员需要确定几个因素:
操作多久发生一次,即业务部门多久做一次查询分析?数据在系统中需要保存多久,一年、两年还是五年、十年?用户查询数据的主要方式,比如时间维度上的自然年还是财政年?用户可以接受多长时间、秒或小时的响应时间?由于双方理解的差异,识别和理解问题可能是一个需要重复多次的过程,IT人员可能需要为业务人员做一些原型演示,最终确定系统要实现的功能确实是业务部门需要的。
选择满足数据仓库系统要求的软件平台
数据仓库需要解决的问题
确定后,第二个步骤就是选择合适的软件平台,包括数据库、建模工具、分析工具等。这里有许多因素要考虑,如系统对数据量、响应时间、分析功能的要求等,以下是一些公认的选择标准:
- 厂商的背景和支持能力,能否提供全方位的技术支持和咨询服务?
- 数据库对大数据量(TB级)的支持能力?
- 数据库是否支持并行操作?
- 能否提供数据仓库的建模工具,是否支持对元数据的管理?
- 能否提供支持大数据量的数据加载、转换、传输工具(ETL)?
- 能否提供完整的决策支持工具集,满足数据仓库中各类用户的需要?
建立数据仓库的逻辑模型
具体步骤如下:
- 确定建立数据仓库逻辑模型的基本方法;
- 基于主题视图,把主题视图中的数据定义转到逻辑数据模型中;
- 识别主题之间的关系;
- 分解多对多的关系;
- 用范式理论检验逻辑数据模型;
- 由用户审核逻辑数据模型。
逻辑数据模型转化为数据仓库数据模型
具体步骤如下:
1.删除非战略性数据
数据仓库模型中不需要包含逻辑数据模型中的全部数据项,某些用于操作处理的数据项要删除;
2.增加时间主键
数据仓库中的数据一定是时间的快照,因此必须增加时间主键;
3.增加派生数据
对于用户经常需要分析的数据,或者为了提高性能,可以增加派生数据;
4.加入不同级别粒度的汇总数据
数据粒度代表数据细化程度,粒度越大,数据的汇总程度越高。粒度是数据仓库设计的一个重要因素,它直接影响到驻留在数据仓库中的数据量和可以执行的查询类型。显然,粒度级别越低,则支持的查询越多;反之,能支持的查询就越有限。
对数据操作的效率与能得到数据的详细程度是一对矛盾,通常人们希望建成的系统既有较高的效率,又能得到所需的详细资料。实施数据仓库的一个重要原则就是不要试图包括所有详细数据,因为90%的分析需求是在汇总数据上进行的。试图将粒度细化到最低层,只会增加系统的开销,降低系统的性能。
数据仓库数据模型优化
数据仓库设计时,性能是一项主要考虑因素。在数据仓库建成后,也需要经常对其性能进行监控,并随着需求和数据量的变更进行调整。
优化数据仓库设计的主要方法是:
- 合并不同的数据表;
- 通过增加汇总表避免数据的动态汇总;
- 通过冗余字段减少表连接的数量,不要超过3~5个;
- 用ID代码而不是描述信息作为键值;
- 对数据表做分区。
数据清洗转换和传输
由于业务系统所使用的软硬件平台不同,编码方法不同,业务系统中的数据在加载到数据仓库之前,必须进行数据的清洗和转换,保证数据仓库中数据的一致性。
在设计数据仓库的数据加载方案时,必须考虑以下几项要求:
- 加载方案必须能够支持访问不同的数据库和文件系统;
- 数据的清洗、转换和传输必须满足时间要求,能够在规定的时间范围内完成;
- 支持各种转换方法,各种转换方法可以构成一个工作流;
- 支持增量加载,只把自上一次加载以来变化的数据加载到数据仓库。
开发数据仓库的分析应用
建立数据仓库的最终目的是为业务部门提供决策支持能力,必须为业务部门选择合适的工具实现其对数据仓库中的数据进行分析的要求。
IT部门所选择的开发工具必须能够:
- 满足用户的全部分析功能要求。数据仓库中的用户包括了企业中各个业务部门,他们的业务不同,要求的分析功能也不同。如有的用户只是简单的分析报表,有些用户则要求做预测和趋势分析;
- 提供灵活的表现方式。分析的结果必须能够以直观、灵活的方式表现,支持复杂的图表。使用终端上,可以是PC机,也可以是手机、平板等移动端。
事实上,现在市面上有很多数据分析工具可供选择。但是,要么学习门槛太高,业务人员难以掌握;要么缺乏深度分析的能力,无法满足要求。而由广州思迈特软件推出的Smartbi,不仅为IT人员提供复杂报表、炫酷大屏等制作工具,而且为业务人员提供多样化的自助分析工具和数据挖掘平台,满足企业不同场景下的分析需求。
数据仓库的管理
只重视数据仓库的建立,而忽视数据仓库的管理必然导致数据仓库项目的失败。数据仓库管理主要包括数据库管理和元数据管理。
数据库管理需要考以下几个方面:
- 安全性管理。数据仓库中的用户只能访问到他的授权范围内的数据,数据在传输过程中的加密策略;
- 数据仓库的备份和恢复。数据仓库的大小和备份的频率直接影响到备份策略;
- 如何保证数据仓库系统的可用性,硬件还是软件方法;
- 数据老化。设计数据仓库中数据的存放时间周期和对过期数据的老化方法,如历史数据只保存汇总数据,当年数据保存详细记录。
然而,元数据管理贯穿于整个系统的建设过程中,元数据是描述数据的数据。在数据采集阶段,元数据主要包括下列信息:
- 源数据的描述定义:类型、位置、结构;
- 数据转换规则:编码规则、行业标准;
- 目标数据仓库的模型描述:星型/雪花模型定义,维/事实结构定义;
- 源数据到目标数据仓库的映射关系:函数/表达式定义;
- 代码:生成转换程序、自动加载程序等。
在数据管理阶段,元数据主要包括下列信息:
- 汇总数据的描述:汇总/聚合层次、物化视图结构定义;
- 历史数据存储规则:位置、存储粒度;
- 多维数据结构描述:立方体定义、维结构、度量值、钻取层次定义等。
在数据展现阶段,元数据主要包括以下信息:
- 报表的描述:报表结构的定义;
- 统计函数的描述:各类统计分析函数的定义;
- 结果输出的描述:图、表输出的定义。
元数据不但是独立存放,而且对用户是透明的,标准元数据之间可以互相转换。
以上介绍的就是数据仓库建设的8个步骤。如果能一步一步把数据仓库建设好,那么对于整个BI系统的建设,对于后续的日常数据分析,都会起到夯实基础、事半功倍的作用。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/172382.html