数据仓库和BI技术概况

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.数据仓库1.1.概念数据仓库项目是以关系数据库为依托,以数据仓库理论为指导、以OLAP为多层次多视角分析,以ETL工具进行数据集成、整合、清洗、加载转换,以前端工具进行前端报表展现浏览,以反复叠代验证为生命周期的综合处理过程。最终目标是为了达到整合企业信息信息,把数据转换成信息、知识,提供决策支持。1.2.数据源数据库、磁带、文件、网页等等。同一主题的数据可能存储在不同的数据库、磁带、甚至文件、网页里都有。1.3.数据粒度粒度问题第一反应了数据细化程度;第二在决策分析层面粒度越大,细化程度越低。一般情况,数据仓库需求存储不同粒度的数据来满足不同层面的要求。例子如顾客的移动话费信息。1.4.数据分割分割结构相同的数据,保证灵活的访问数据。1.5.设计数据仓库与OLTP系统的接口设计:ETL设计数据仓库本身存储模型的设计:数据存储模型设计1.6.ETL设计难点数据仓库有多个应用数据源,导致同一对象描述方式不同:表达方式不同:字段类型不同度量方式不同:单位不同对象命名方式不同:字段名称不同数据源的数据是逐步加载到数据仓库,怎么确定数据已经加载过如何避免对已经加载的数据的读取,提高性能数据实时发生变化后怎么加载2.数据存储模型过程模型:适用于操作性环境。数据模型:适用于数据仓库和操作性环境。数据模型从设计的角度分:高层次模型(实体关系型),中间层建模(数据项集),物理模型。2.1.数据仓库的存储方式数据仓库的数据由两种存储方式:一种是存储在关系数据库中,另一种是按多维的方式存储,也就是多维数组。2.2.数据仓库的数据分类数据仓库的数据分元数据和用户数据。用户数据按照数据粒度分别存放,一般分四个粒度:早期细节级数据,当前细节级数据,轻度综合级,高度综合级。元数据是定义了数据的数据。传统数据库中的数据字典或者系统目录都是元数据,在数据仓库中元数据表现为两种形式:一种是为了从操作型环境向数据仓库环境转换而建立的元数据,它包含了数据源的各种属性以及转换时的各种属性;另一种元数据是用来与多维模型和前端工具建立映射用的。2.3.数据存储模型分类多维数据建模以直观的方式组织数据,并支持高性能的数据访问。每一个多维数据模型由多个多维数据模式表示,每一个多维数据模式都是由一个事实表和一组维表组成的。多维模型最常见的是星形模式。在星形模式中,事实表居中,多个维表呈辐射状分布于其四周,并与事实表连接。在星型的基础上,发展出雪花模式。通常来说,数据仓库使用星型模型。2.3.1.星型模型位于星形中心的实体是指标实体,是用户最关心的基本实体和查询活动的中心,为数据仓库的查询活动提供定量数据。每个指标实体代表一系列相关事实,完成一项指定的功能。位于星形图星角上的实体是维度实体,其作用是限制用户的查询结果,将数据过滤使得从指标实体查询返回较少的行,从而缩小访问范围。每个维表有自己的属性,维表和事实表通过关键字相关联。星形模式虽然是一个关系模型,但是它不是一个规范化的模型。在星形模式中,维度表被故意地非规范化了,这是星形模式与OLTP系统中的关系模式的基本区别。使用星形模式主要有两方面的原因:提高查询的效率。采用星形模式设计的数据仓库的优点是由于数据的组织已经过预处理,主要数据都在庞大的事实表中,所以只要扫描事实表就可以进行查询,而不必把多个庞大的表联接起来,查询访问效率较高。同时由于维表一般都很小,甚至可以放在高速缓存中,与事实表作连接时其速度较快;便于用户理解。对于非计算机专业的用户而言,星形模式比较直观,通过分析星形模式,很容易组合出各种查询。总结一下星型模型的特点:非正规化;多维数据集中的每一个维度都与事实表连接(通过主键和外键);不存在渐变维度;有冗余数据;查询效率可能会比较高;不用过多考虑正规化因素,设计维护较为简单2.3.2.雪花模型在实际应用中,随着事实表和维表的增加和变化,星形模式会产生多种衍生模式,包括星系模式、星座模式、二级维表和雪花模式。雪花模式是对星形模式维表的进一步层次化,将某些维表扩展成事实表,这样既可以应付不同级别用户的查询,又可以将源数据通过层次间的联系向上综合,最大限度地减少数据存储量,因而提高了查询功能。雪花模式的维度表是基于范式理论的,因此是界于第三范式和星形模式之间的一种设计模式,通常是部分数据组织采用第三范式的规范结构,部分数据组织采用星形模式的事实表和维表结构。在某些情况下,雪花模式的形成是由于星形模式在组织数据时,为减少维表层次和处理多对多关系而对数据表进行规范化处理后形成的。雪花模式的优点是:在一定程度上减少了存储空间;规范化的结构更容易更新和维护。同样雪花模式也存在不少缺点:雪花模式比较复杂,用户不容易理解;浏览内容相对困难;额外的连接将使查询性能下降。在数据仓库中,通常不推荐“雪花化”。因为在数据仓库中,查询性能相对OLTP系统来说更加被重视,而雪花模式会降低数据仓库系统的性能。总结一下雪花模型的特点:正规化;数据冗余少;有些数据需要连接才能获取,可能效率较低;规范化操作较复杂,导致设计及后期维护复杂。实际应用中,可以采取上述两种模型的混合体。如:中间层使用雪花结构以降低数据冗余度,数据集市部分采用星型以方便数据提取及分析3.前端分析应用模型是指为数据挖掘和数据分析以及预测定义的数据模型,有数据库模型以及电子表模型。主流的产品有:DB2OLAPserverMSOLAPAnalysisserverHyperionEssbaseOLAPserverOracleExpressServerSASOLAPServer3.1.电子表模型在电子表中可以向单元格中插入数值或公式。电子表对于复杂的公式很有帮助,因为它便于用户操控。电子表的缺点之一是它在大小方面很受限制,并且电子表本质上只是一个二维结构。使用电子表存储模型构建的OLAP多维数据集可以把这个模型扩展为支持多个维度,并且比常规的电子表大很多。在基于电子表模型的OLAP中,整个多维数据集中的任何单元格都有可能被物理地存储。这既是好事也是坏事。优点是可以在多维数据集空间内的任何点上输入常量值,并且在多维数据集空间内的任何点上保存计算的结果。缺点是一个称为数据爆炸的小问题,它限制了OLAP多维数据集的大小。基于电子表的OLAP工具往往与财务应用程序相关联。多数财务应用程序都涉及相对较小但具有复杂的非累加性(noadditive)计算的数据库。3.2.数据库模型使用数据库模型来存储多维数据集的OLAP工具的行为截然不同。它们利用了多数报表都需要加操作,还有相加是个关联操作这个事实。例如把数字3、5和7相加时,无论是先把3和5相加得到8然后再加上7,还是先把5和7相加得到12然后再加上3都没有关系。两种情况下结果都是15。在纯粹的关系数据库中,通过创建具体表以得到快速的查询结果。在聚合表中存储的是报表需要的预先加好的数值。例如在一个包含了几千种产品、5年明细数据,也许还有其他几个维度的事实表中,可能存储了几百万行数据,即使在只有50个子类别和20个季度的情况下,也需要好几分钟来生成一个按产品子类别或季度分组的报表。但如果先把这些数据汇总起来,并保存到只包含子类别和季度的聚合表中,那么该表中最多只有一千行数据,而且只根据子类别或季度分组的查询将执行得很快。事实上,根据加操作的关联性,根据产品类别或年进行汇总的报表也可以使用相同的聚合表,同样也能很快地产生结果。使用数据库模型进行存储的OLAP最大的优点是可以避免数据爆炸。因为使用相对较少的聚合表提供快速的结果,可以创建比电子表模型拥有更多维度和属性的更大的多维数据集。使用数据库模型进行存储的OLAP最大的缺点是,没有固有的方法来存储使用非关联性操作计算的结果。一个极端复杂的财务计算就是留存收益(RetainedEarningSinceInception)。为了计算这个值,必须首先计算纯收益——而它本身就是各种加、减和乘法的大杂烩。并且还必须计算每个时间段从开始时间点的纯收益值,以便把它们加到一起。这不是个关联操作,所以为业务的每个单元分别计算并不能使整个公司的计算更加容易。即使是使用数据库模型存储的OLAP多维数据集也能快速地计算某些非关联操作。例如,平均销售价格并不是一个可累加值(additivevalue)——不能简单地把价格相加起来。但在整个产品线层次计算平均销售价格时,只要简单地计算出销售额和销售量的总数,然后在产品线层次用销售额总数除以销售量总数。因为是在计算两个可累加值的比率,所及本质上该计算将与获取简单的可累加值一样快。数据库形式的OLAP工具通常与销售或类似的数据库关联。销售多维数据集通常都非常巨大——不仅有上亿条的事实表数据,并且还有具有很多属性的维度。销售多维数据集通常都涉及累加性的度量值(美元和数量通常都是可累加的),或者是可以基于可累加值快速计算的公式。OLAP的一个主要优点就是能够提前计算数值,这样就能快速地呈现报表。不同的OLAP技术有不同的优势和劣势,但一个好的OLAP实现了在涉及高度汇总值时比等同的关系查询快很多。4.数据集市4.1.概念数据集市是一个小型的基于企业的一个组织或者部门的数据仓库。有两种类型的数据集市:独立型和从属型。独立型数据集市从操作性数据库中获取数据;从属型数据集市从企业级数据仓库中获取数据。大家可以考虑一下:哪一种数据集市更为稳定?5.ETL随着企业信息化的发展,有两种方式可以完成系统间的协作和数据分析挖掘。一种是EAI,一种是ETL。这两种方式哪一种更好,下面我们会给予解释分析。5.1.EAI5.1.1.概念为了解决企业内部“信息孤岛“的问题,企业应用集成(EnterpriseApplicationIntegration,EAI)技术应运而生,它可以通过中间件作为粘合剂来连接企业内外各种业务相关的异构系统、应用以及数据源,从而满足E-Commerce、ERP、CRM、SCM、OA、数据库、数据仓库等重要系统之间无缝共享和交换数据的需要。EAI涉及技术广泛,实施复杂。EAI的核心是使用中间件连接企业应用。有多种不同类型的中间件可以提供EAI的功能。在选择EAI中间件时,要注意基本特征如下:通过中间件将不同的应用连接起来,保证应用的独立性,在不需要修改应用自身的业务逻辑的同时,又解决了数据共享问题。对核心共享业务数据模型的处理与支持实现业务流程自动化。确保各个部门在采用不同的系统的同时可以协同完成同一个工作。对流程管理提供预定义的通用模型与行业模型支持应用架构的不断变更。可以方便地重新配制以增加或去除系统而不会影响其它系统。既能够提供实时接口和批处理接口,又能够提供同步和异步接口良好的性能和数据吞吐量,并且具有灵活的可扩展性以适应企业的发展保证数据的安全的方式是根据需要有目的可以读取应用数据必须具备恢复机制,当数据传输过程中发生连接中断等异常时可以确保数据的恢复一个完整的EAI解决方案应当包含以下五个层面:用户交互:实现应用用户界面统一的接入与安全机制,利用门户技术进行构建。应用连接:通过HUB或总线架构,实现应用与应用之间的连接,完成相关的数据路由与数据格式转换。业务流程整合:实现业务流程管理,包括工作流管理和自动化流程两个方面。构建整合:这个层面包含两个部分,一部分是构建与现有应用兼容的新应用,另一部分是对现有资源进行重用以适应新环境的需要。信息集成:实现数据集成,在异构的数据源之间实现数据层的直接整合相关技术:EAI解决方案通常涉及到JCA、JMS、Web服务以及XML等多种企业级技术。这些技术都已经成为业界的标准,从而可以最大化地保护客户投资。这些技术既可以被包含在相关产品中供用户透明地使用,也可以由用户自己在应用程序中加以调用。此外,SOA(面向服务的架构)随着各大厂商的追捧而变得炙手可热。虽然SOA本身不是一个全新的概念,但由于Web服务以及网格计算等技术的成熟,SOA具备了更好的发展条件。对于EAI来说,基于SOA的企业应用系统可以随着企业业务的变化而逐渐变化,能够实现“柔性化”的软件

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功