• 快捷搜索
  • 全站搜索

企业级数据仓库构建过程

2015-08-19 15:42:34作者:杨进玉编辑:金融咨询网 徐仲雅
数据仓库应用是为了提供企业级的管理和决策信息,它的需求分析本身是一个探索的过程,要建造一个成功的数据仓库系统,必须要整理出完善的需求。企业要想真正走向数据仓库应用成功之路,只有也必须从国外的模型框框中突破出来,制定、裁剪、勇敢改造或者设计出符合中国企业特点的数据仓库模型。

        (2)维度表设计

        与事实表不同,维度表不具有健壮性和完整性,它们当中充满了“大而笨重”的描述性子段。维度表的属性一般有两个主要的用途:查询约束(过滤)和标记查询结果集。很多情况下,数据仓库的功能都与维度属性的质量及深度成正比例,健壮的维才能够产生健壮的查询和分析功能。维度表中的属性可以使用代码和缩写形式来定义,但最明智的做法是使用描述性字段。

        维度表一般是有主键的。代表该类物质的一个单一个体,其他的属性一般都是表示层次关系的,在一个单独的维里面解析几个多对一的层次关系的情况比较常见。例如电商网站中的产品可以上卷(roll up)到品牌,而品牌可以上卷到类别,就可以用一个单独的产品维度来表示该层次关系,维度表存储了与品牌和类别描述相对应的属性。这样设计会在每个产品行中都产生有关品牌和类别的冗余存储。尽管可以将品牌和类别解码存储在单独的维度表中,但这样做仍然会干扰可理解性和查询性能。

        维度表在汇总、插入分析、和扩展分析处理中很有用,维表能够说明事实表。维度表的设计可以借鉴源系统的结构作为雏形,但要深入全面的分析,进行必要的裁剪和提炼,不要照搬。维度表设计有以下几点建议:1) 建立维表主键,有时需要加入源系统的键进行比较;2)为反应历史变化,应加入时标以标识某些唯维在某个时期的有效性;3)处理缓慢变化的维,确定何种变化需要插入新的纪录,何种变化只需要更改源纪录,以产品维数为例,如果产品的型号规格变了,一般应插入新的纪录,以保障历史数据的正确性。(真实性)4)建立唯的版本号以适应历史变化,如对产品维来讲,针对型号的变动应该生成新的版本号。5)尽可能在整个行业中使用共享的维,或者对维进行合并、整合、使得它能够被整个企业/行业共享。

        (3)星型VS雪花型

        星型模式和雪花模型的多维数据建模均以直观的方式组织数据,并支持高性能的数据访问。多维模型最常见的是星形模式。在星形模式中,事实表居中,多个维表呈辐射状分布于其四周,并与事实表连接。星型模式位于星形中心的实体是指标实体,是用户最关心的基本实体和查询活动的中心,为数据仓库的查询活动提供定量数据。指标实体代表一系列相关事实,完成指定的功能。维度实体,其作用是限制用户的查询结果,将数据过滤使得从指标实体查询返回较少的行,从而缩小访问范围。星形模式虽然是一个关系模型,但是它不是一个规范化的模型。在星形模式中,维度表被故意地非规范化了,这是星形模式与OLTP系统中的关系模式的基本区别。使用星形模式主要有两方面的原因:提高查询的效率。采用星形模式设计的数据仓库的优点是由于数据的组织已经过预处理,主要数据都在庞大的事实表中,所以只要扫描事实表就可以进行查询,而不必把多个庞大的表联接起来,查询访问效率较高。同时由于维表一般都很小,甚至可以放在高速缓存中,与事实表作连接时其速度较快;便于用户理解。

        雪花模式在实际应用中,随着事实表和维表的增加和变化,星形模式会产生多种衍生模式,包括星系模式、星座模式、二级维表和雪花模式。雪花模式是对星形模式维表的进一步层次化,将某些维表扩展成事实表,这样既可以应付不同级别用户的查询,又可以将源数据通过层次间的联系向上综合,最大限度地减少数据存储量,因而提高了查询功能。雪花模式的维度表是基于范式理论的,因此是界于第三范式和星形模式之间的一种设计模式,通常是部分数据组织采用第三范式的规范结构,部分数据组织采用星形模式的事实表和维表结构。在某些情况下,雪花模式的形成是由于星形模式在组织数据时,为减少维表层次和处理多对多关系而对数据表进行规范化处理后形成的。雪花模式的优点是:在一定程度上减少了存储空间;规范化的结构更容易更新和维护。同样雪花模式也存在不少缺点:雪花模式比较复杂,用户不容易理解;浏览内容相对困难;额外的连接将使查询性能下降。在数据仓库中,通常不推荐“雪花化”。因为在数据仓库中,查询性能相对OLTP系统来说更加被重视,而雪花模式会降低数据仓库系统的性能。图3为数据仓库雪花模型示意。

QQ截图20150819153006.jpg

        实际应用中,可以采取上述两种模型的混合体:如:中间层使用雪花结构以降低数据冗余度,数据集市部分采用星型以方便数据提取及和分析。有时候规范化和效率是一组矛盾。一般我们会采取牺牲空间(规范化)来换取好的性能,把尽可能多的维度信息存在一张“大表”里面是最快的。通常会视情况而定,采取折中的策略。

四、数据仓库的ETL过程

        通常数据仓库中数据量较大,需要采取成熟的ETL工具进行抽取、转换和加载操作,以减低设计、开发和维护的复杂度,使得开发人员有更多的时间专注于业务转化规则的实现。ETL工作是数据仓库项目中耗时最长并且比较艰难的工作,ETL系统设计和开发对商业智能项目的成败产生至关重要的影响。所以,数据仓库中的ETL过程是构建数据仓库的重要一环节。用户从数据源(或者ODS系统)抽取出所需数据,经过数据清洗、转换等最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。转换操作,是按照预先设计好的规则,将抽取获得的数据进行清洗以及处理一些冗余、重复、或者有歧义的部分,最终使得本来异构的数据能够统一起来。转换操作归纳起来有以下内容。

QQ截图20150819153038.jpg

        从另一个方面讲,数据仓库具有4或5层的逻辑设计,从操作型数据层、数据仓库层、数据集市层、数据应用分析层、数据可视化展示层。数据在持续的流转、被聚合、被汇总沿着特定的分析线条和分析主题。数据在数据仓库的加工、汇总和分析,也衍生了大量的ETL数据处理工作。图4为数据仓库中数据聚合汇总逻辑示意。

图片3.jpg

图4 仓库数据聚合汇总分析逻辑示意

五、数据仓库实施总结

        企业数据仓库应用的成功之路并非一蹴而就。数据仓库应用的重点有两点,一个是应用层问题,一个是技术层问题。应用层问题。数据仓库应用是为了提供企业级的管理和决策信息,它的需求分析本身是一个探索的过程,要建造一个成功的数据仓库系统,必须要整理出完善的需求。因为,数据仓库应用系统是一个周而复始、生生不息的循环过程。技术层问题。这又分为数据模型、ETL、前端应用和系统管理几方面。数据模型是个大问题,数据仓库模型应该怎样构造,尤其是针对具体的行业,上升到业务模型的高度,更是众说纷纭。国外的厂商几乎都提供了自己的模型,按照自己的数据仓库实施方法来诠释。具体到中国的企业,直接拿过来用的还没有先例。企业要想真正走向数据仓库应用成功之路,只有也必须从国外的模型框框中突破出来,制定、裁剪、勇敢改造或者设计出符合中国企业特点的数据仓库模型。成功的数据仓库模型能够应付数据源以及业务逻辑的变化,能够弥补上面提到的系统的灵活性和稳定性的问题。数据仓库系统的管理目前是限制应用走向成熟的瓶颈,管理系统的目标是使数据循环体的各个环节都能达到可配置的状态,可以最大限度的提高系统的灵活性和稳定性。也可以将管理系统作为评价数据仓库应用是否成熟的重要标志。

 

首页 上一页 1 2 3

扫码即可手机
阅读转发此文

本文评论

相关文章

频道最近更新

频道热门文章