数据仓库和BI技术概况.docx
《数据仓库和BI技术概况.docx》由会员分享,可在线阅读,更多相关《数据仓库和BI技术概况.docx(24页珍藏版)》请在课桌文档上搜索。
1、1.数据仓库和Bl技术概况1.L概念数据仓库项目是以关系数据库为依托,以数据仓库理论为指导、以OLAP为多层次多视角分析,以ETL工具进行数据集成、整合、清洗、加载转换,往常端工具进行前端报表展现浏览,以反复叠代验证为生命周期的综合处理过程。最终目标是为了达到整合企业信息信息,把数据转换成信息、知识,提供决策支持。12数据源数据库、磁带、文件、网页等等。同一主题的数据可能存储在不一致的数据库、磁带、甚至文件、网页里都有。13数据粒度粒度问题第一反应了数据细化程度;第二在决策分析层面粒度越大,细化程度越低。通常情况,数据仓库需求存储不一致粒度的数据来满足不一致层面的要求。例子如顾客的移动话费信息
2、。14数据分割分割结构相同的数据,保证灵活的访问数据。15设计数据仓库 与OLTP系统的接口设计:ETL设计 数据仓库本身存储模型的设计:数据存储模型设计1.6.ETL设计难点数据仓库有多个应用数据源,导致同一对象描述方式不一致: 表达方式不一致:字段类型不一致 度量方式不一致:单位不一致 对象命名方式不一致:字段名称不一致 数据源的数据是逐步加载到数据仓库,怎么确定数据己经加载过 如何避免对已经加载的数据的读取,提高性能 数据实时发生变化后怎么加载2数据存储模型过程模型:适用于操作性环境。数据模型:适用于数据仓库与操作性环境。数据模型从设计的角度分:高层次模型(实体关系型),中间层建模(数据
3、项集),物理模型。2.1.数据仓库的存储方式数据仓库的数据由两种存储方式:一种是存储在关系数据库中,另一种是按多维的方式存储,也就是多维数组。22数据仓库的数据分类数据仓库的数据分元数据与用户数据。用户数据按照数据粒度分别存放,通常分四个粒度:早期细节级数据,当前细节级数据,轻度综合级,高度综合级。元数据是定义了数据的数据。传统数据库中的数据字典或者者系统目录都是元数据,在数据仓库中元数据表现为两种形式:一种是为了从操作型环境向数据仓库环境转换而建立的元数据,它包含了数据源的各类属性与转换时的各类属性;另一种元数据是用来与多维模型与前端工具建立映射用的。23数据存储模型分类多维数据建模以直观的
4、方式组织数据,并支持高性能的数据访问。每一个多维数据模型由多个多维数据模式表示,每一个多维数据模式都是由一个事实表与一组维表构成的。多维模型最常见的是星形模式。在星形模式中,事实表居中,多个维表呈辐射状分布于其四周,并与事实表连接。在星型的基础上,进展出雪花模式。通常来说,数据仓库使用星型模型。2.3.1. 星型模型位于星形中心的实体是指标实体,是用户最关心的基本实体与查询活动的中心,为数据仓库的查询活动提供定量数据。每个指标实体代表一系列有关事实,完成一项指定的功能。位于星形图星角上的实体是维度实体,其作用是限制用户的查询结果,将数据过滤使得从指标实体查询返回较少的行,从而缩小访问范围。每个
5、维表有自己的属性,维表与事实表通过关键字有关联。星形模式尽管是一个关系模型,但是它不是一个规范化的模型。在星形模式中,维度表被有意地非规范化了,这是星形模式与OLTP系统中的关系模式的基本区别。使用星形模式要紧有两方面的原因:提高查询的效率。使用星形模式设计的数据仓库的优点是由于数据的组织已通过预处理,要紧数据都在庞大的事实表中,因此只要扫描事实表就能够进行查询,而不必把多个庞大的表联接起来,查询访问效率较高。同时由于维表通常都很小,甚至能够放在高速缓存中,与事实表作连接时其速度较快;便于用户懂得。关于非计算机专业的用户而言,星形模式比较直观,通过分析星形模式,很容易组合出各类查询。总结一下星
6、型模型的特点: 非正规化; 多维数据集中的每一个维度都与事实表连接(通过主键与外键); 不存在渐变维度; 有冗余数据; 查询效率可能会比较高; 不用过多考虑正规化因素,设计保护较为简单2.3.2. 雪花模型在实际应用中,随着事实表与维表的增加与变化,星形模式会产生多种衍生模式,包含星系模式、星座模式、二级维表与雪花模式。雪花模式是对星形模式维表的进一步层次化,将某些维表扩展成事实表,这样既能够应付不一致级别用户的查询,乂能够将源数据通过层次间的联系向上综合,最大限度地减少数据存储量,因而提高了查询功能。雪花模式的维度表是基于范式理论的,因此是界于第三范式与星形模式之间的一种设计模式,通常是部分
7、数据组织使用第三范式的规范结构,部分数据组织使用星形模式的事实表与维表结构。在某些情况下,雪花模式的形成是由于星形模式在组织数据时,为减少维表层次与处理多对多关系而对数据表进行规范化处理后形成的。雪花模式的优点是:在一定程度上减少了存储空间;规范化的结构更容易更新与保护。同样雪花模式也存在很多缺点:雪花模式比较复杂,用户不容易懂得;浏览内容相对困难;额外的连接将使查询性能下降。在数据仓库中,通常不推荐“雪花化由于在数据仓库中,查询性能相对OLTP系统来说更加被重视,而雪花模式会降低数据仓库系统的性能。总结一下雪花模型的特点: 正规化; 数据冗余少; 有些数据需要连接才能获取,可能效率较低; 规
8、范化操作较复杂,导致设计及后期保护复杂。实际应用中,能够采取上述两种模型的混合体。如:中间层使用雪花结构以降低数据冗余度,数据集市部分使用星型以方便数据提取及分析3 .前端分析应用模型是指为数据挖掘与数据分析与预测定义的数据模型,有数据库模型与电子表模型。主流的产品有:DB2OLAPserverMSOLAPAnalysisserver3.1. 电子表模型在电子表中能够向单元格中插入数值或者公式。电子表关于复杂的公式很有帮助,由于它便于用户操控。电子表的缺点之一是它在大小方面很受限制,同时电子表本质上只是一个二维结构。使用电子表存储模型构建的OSP多维数据集能够把这个模型扩展为支持多个维度,同时
9、比常规的电子表大很多。在基于电子表模型的OSP中,整个多维数据集中的任何单元格都有可能被物理地存储。这既是好事也是坏事。优点是能够在多维数据集空间内的任何点上输入常量值,同时在多维数据集空间内的任何点上储存计算的结果。缺点是一个称之数据爆炸的小问题,它限制了OSP多维数据集的大小。基于电子表的OLAP工具往往与财务应用程序有关联。多数财务应用程序都涉及相对较小但具有复杂的非累加性(noadditive)计算的数据库。32数据库模型使用数据库模型来存储多维数据集的OLAP工具的行为截然不一致。它们利用了多数报表都需要加操作,还有相加是个关联操作这个事实。比如把数字3、5与7相加时,不管是先把3与
10、5相加得到8然后再加上7,还是先把5与7相加得到12然后再加上3都没有关系。两种情况下结果都是15。在纯粹的关系数据库中,通过创建具体表以得到快速的查询结果。在聚合表中存储的是报表需要的预先加好的数值。比如在一个包含了几千种产品、5年明细数据,也许还有其他几个维度的事实表中,可能存储了几百万行数据,即使在只有50个子类别与20个季度的情况下,也需要好几分钟来生成一个按产品子类别或者季度分组的报表。但假如先把这些数据汇总起来,并储存到只包含子类别与季度的聚合表中,那么该表中最多只有一千行数据,而且只根据子类别或者季度分组的查询将执行得很快。事实上,根据加操作的关联性,根据产品类别或者年进行汇总的
11、报表也能够使用相同的聚合表,同样也能很快地产生结果。使用数据库模型进行存储的OLAP最大的优点是能够避免数据爆炸。由于使用相对较少的聚合表提供快速的结果,能够创建比电子表模型拥有更多维度与属性的更大的多维数据集。使用数据库模型进行存储的OLAP最大的缺点是,没有固有的方法来存储使用非关联性操作计算的结果。一个极端复杂的财务计算就是留存收益(RetainedEarningSincelnception)o为了计算这个值,务必首先计算纯收益一一而它本身就是各类加、减与乘法的大杂检。同时还务必计算每个时间段从开始时间点的纯收益值,以便把它们加到一起。这不是个关联操作,因此为业务的每个单元分别计算并不能
12、使整个公司的计算更加容易。即使是使用数据库模型存储的OLAP多维数据集也能快速地计算某些非关联操作。比如,平均销售价格并不是一个可累加值(additivevalue)一一不能简单地把价格相加起来。但在整个产品线层次计算平均销售价格时,只要简单地计算出销售额与销售量的总数,然后在产品线层次用销售额总数除以销售量总数。由因此在计算两个可累加值的比率,所及本质上该计算将与获取简单的可累加值一样快。数据库形式的OLAP工具通常与销售或者类似的数据库关联。销售多维数据集通常都非常巨大一一不仅有上亿条的事实表数据,同时还有具有很多属性的维度。销售多维数据集通常都涉及累加性的度量值(美元与数量通常都是可累加
13、的),或者者是能够基于可累加值快速计算的公式。OLAP的一个要紧优点就是能够提早计算数值,这样就能快速地呈现报表。不一致的OLAP技术有不一致的优势与劣势,但一个好的OLAP实现了在涉及高度汇总值时比等同的关系查询快很多。4 .数据集市4 .L概念数据集市是一个小型的基于企业的一个组织或者者部门的数据仓库。有两种类型的数据集市:独立型与从属型。独立型数据集市从操作性数据库中获取数据;从属型数据集市从企业级数据仓库中获取数据。大家能够考虑一下:哪一种数据集市更为稳固?5 .ETL随着企业信息化的进展,有两种方式能够完成系统间的协作与数据分析挖掘。一种是EAl,一种是ETL。这两种方式哪一种更好,
14、下面我们会给予解释分析。5.1. EAI5.1.1. 概念为熟悉决企业内部信息孤岛的问题,企业应用集成(EnterPriSeApplicationIntegration,EAD技术应运而生,它能够通过中间件作为粘合剂来连接企业内外各类业务有关的异构系统、应用与数据源,从而满足E-Commerce、ERP、CRM、SCM、0A、数据库、数据仓库等重要系统之间无缝共享与交换数据的需要。EAI涉及技术广泛,实施复杂。EAI的核心是使用中间件连接企业应用。有多种不一致类型的中间件能够提供EAl的功能。在选择EAl中间件时,要注意基本特征如下: 通过中间件将不一致的应用连接起来,保证应用的独立性,在不需
15、要修改应用自身的业务逻辑的同时,又解决了数据共享问题。 对核心共享业务数据模型的处理与支持 实现业务流程自动化。确保各个部门在使用不一致的系统的同时能够协同完成同一个工作。 对流程管理提供预定义的通用模型与行业模型 支持应用架构的不断变更。能够方便地重新配制以增加或者去除系统而不可能影响其它系统。 既能够提供实时接口与批处理接口,又能够提供同步与异步接口 良好的性能与数据吞吐量,同时具有灵活的可扩展性以习惯企业的进展 保证数据的安全的方式是根据需要有目的能够读取应用数据 务必具备恢复机制,当数据传输过程中发生连接中断等特殊时能够确保数据的恢复一个完整的EAI解决方案应当包含下列五个层面: 用户
16、交互:实现应用用户界面统一的接入与安全机制,利用门户技术进行构建。 应用连接:通过HUB或者总线架构,实现应用与应用之间的连接,完成有关的数据路由与数据格式转换。 业务流程整合:实现业务流程管理,包含工作流管理与自动化流程两个方面。 构建整合:这个层面包含两个部分,一部分是构建与现有应用兼容的新应用,另一部分是对现有资源进行重用以习惯新环境的需要。 信息集成:实现数据集成,在异构的数据源之间实现数据层的直接整合有关技术:EAl解决方案通常涉及到JCA、JMS.Web服务与XML等多种企业级技术。这些技术都已经成为业界的标准,从而能够最大化地保护客户投资。这些技术既能够被包含在有关产品中供用户透
17、明地使用,也能够由用户自己在应用程序中加以调用。此外,SOA(面向服务的架构)随着各大厂商的追捧而变得炙手可热。尽管SOA本身不是一个全新的概念,但由于Web服务与网格计算等技术的成熟,SoA具备了更好的进展条件。关于EAl来说,基于SOA的企业应用系统能够随着企业业务的变化而逐步变化,能够实现“柔性化”的软件系统,从而降低实施EAI的成本与风险,因此我们能够说SOA的兴起给了EAI厂商一个新的机会。5.2. ETL5.2.1. 概念ETL即数据抽取(Extract)转换(Transform)、装载(Load)的过程。它是构建数据仓库的重要环节。数据仓库是面向主题的、集成的、稳固的且随时间不断
18、变化的数据集合,用以支持经营管理中的决策制定过程。数据仓库系统中有可能存在着大量的噪声数据,引起的要紧原因有:滥用缩写词、惯用语、数据输入错误、重复记录、丢失值、拼写变化等。即便是一个设计与规划良好的数据库系统,假如其中存在着大量的噪声数据,那么这个系统也是没有任何意义的,由于“垃圾进,垃圾出(garbagein,garbageout),系统根本就不可能为决策分析系统提供任何支持。为了清除噪声数据,务必在数据库系统中进行数据清洗。目前有很多数据清洗研究与ETL研究,但是如何在ETL过程中进行有效的数据清洗并使这个过程可视化,此方面研究不多。木文要紧从两个方面阐述ETL与数据清洗的实现过程:ET
19、L的处理方式与数据清洗的实现方法。5.2.2. ETL的处理方式还有一种方式,假如数据量小,没有什么转换逻辑的时候,自己开发ETL大概非常节约成本的一种好方式。但是假如不能得到厂家长期的支持,必定随着数据量的增加,ETL复杂度的增加,自己开发ETL成本就不低了。53ETL与EAl之间的关系随着集成的增多,企业信息系统之间需处理的数据量也将越来越大,数据的传输将变得越来越复杂。ETL越来越适合用于这种数据处理的工作,并逐步挑战传统EAI(enterpriseapplicationintegration)在系统集成中的地位了。ETL(extraction,transformationandIoad
20、ing)最初ETL的设计是为了方便建立数据市场与数据仓库,并将它们升级为批处理方式。而下一代的ETL工具则在许多功能上做了扩展,使其能够适用于企业的应用集成,同时其中的一些工具将能够起到EAI某些工具的作用。但是ETL还不能取代EAI,下一代ETL在应用集成领域中还只是EAI的补充。但是随着ETL技术的进展,企业在建立基于批处理数据仓库的系统集成工具时,将越来越关注对ETL的选择,同时EAI与ETL之间的界限也将变得越来越模糊。5.4. ETL与EAI之间的区别ETL工具适合数据集成,EAl工具则适用于流程操作。ETL工具更加适用于解决两个系统间数据的批量或者者实时同步工作,特别是当大量巨大的
21、数据在两个系统间提取、转换与存储时,ETL的优势更加明显。EAI则适用于工作流与商业流程管理的需求,特别是擅长处理大量小事务。关于交互式流程,假如它没有扩展工作流的需求,没有复杂数据的转换的需求,或者者需要批量实时数据的合并处理,则工具将是比较好的选择。ETL工具比较适合于数据集成的工作,如应用系统之间的数据同步与点对点的单步交互工作:需要实时数据处理的工作中包含了大量的数据处理、复杂的数据传输与数据运算,它同样适合使用ETL工具。上面这些工作,即便是有些具体的处理需要通过EAI工具编程实现,我们还是能够用ETL中的工具来处理。由于ETL工具要紧是通过关系型数据库来实现大量数据操作的,因此使用
22、这类工具来传输大块的数据将取得更好的效果。EAl工具无疑是最适合流程集成的工具,假如流程中包含了大量的传输,那么它就必定包含了对业务流程的管理与实时交互的流程。5.5. ETL各阶段任务做数据仓库系统,ETL是关键的一环。说大了,ETL是数据整合解决方案,说小了,就是倒数据的工具。从名字上就能够看到,将倒数据的过程分成3个步骤,E、T、L分别代表抽取、转换与装载。事实上ETL过程就是数据流淌的过程,从不一致的数据源流向不一致的目标数据。但在数据仓库中,ETL有几个特点,一是数据同步,它不是一次性倒完数据就拉到,它是经常性的活动,按照固定周期运行的,甚至现在还有人提出了实时ETL的概念。二是数据
23、量,通常都是巨大的,值得你将数据流淌的过程拆分成E、T与L。56ETL难点5.6.1. 难点一ETL的过程就是数据流淌的过程,从不一致异构数据源流向统一的目标数据。其间,数据的抽取、清洗、转换与装载形成串行或者并行的过程。ETL的核心还是在于T这个过程,也就是转换,而抽取与装载通常能够作为转换的输入与输出,或者者,它们作为一个单独的部件,其复杂度没有转换部件高。与OLTP系统中不一致,那里充满这单条记录的insert.UPdate与SeIeCt等操作,ETL过程通常都是批量操作,比如它的装载多使用批量装载工具,通常都是DBMS系统自身附带的工具,比如OradeSQLLoader与DB2的aut
24、oloader等。ETL本身有一些特点,在一些工具中都有表达,下面以datastage与powermart举例来说。 静态的ETL单元与动态的ETL单元实例;一次转换指明了某种格式的数据如何格式化成另一种格式的数据,关于数据源的物理形式在设计时能够不用指定,它能够在运行时,当这个ETL单元创建一个实例时才指定。关于静态与动态的ETL单元,DataStage没有严格区分,它的一个Job就是实现这个功能,在早期版本,一个Job同时不能运行两次,因此一个Job相当于一个实例,在后期版本,它支持multipleinstances,而且还不是默认选项。POWermart中将这两个概念加以区分,静态的叫做
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据仓库 BI 技术 概况

链接地址:https://www.desk33.com/p-428011.html