滚焊机厂家
免费服务热线

Free service

hotline

010-00000000
滚焊机厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

浅谈数据仓库及其在SQL中的构建分析

发布时间:2020-06-30 18:16:31 阅读: 来源:滚焊机厂家

摘要:数据仓库是面向主题的、集成的、具有时间特征的、稳定的数据集合,用以支持经营管理中的决策制定过程。数据仓库提供用户用于决策支持的当前和历史数据。

关键词:数据仓库数据模型

一、引言

数据仓库是面向主题的、集成的、具有时间特征的、稳定的数据集合,用以支持经营管理中的决策制定过程。数据仓库提供用户用于决策支持的当前和历史数据。这些数据在传统的操作型数据库中很难或不能得到。

面向主题是指数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。集成的是指数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的。必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。数据仓库的组成包括以下几个部分:数据仓库数据库、数据抽取工具、元数据、访问工具、数据集市(DataMarts)、数据仓库管理及信息发布系统。其中数据仓库数据库是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。

二、数据仓库的数据模型

传统的OLTP系统是按照应用来建立模型,即OLTP系统是面向应用的。丽数据仓库是蘧向主题的,一般按照主题来建模。主题是一个在较高层次将数据进行归类的标准.每个主题基本对应一个宏观的分析领域。满足该领域决策的需要。

l、两种主流模型分析

目前两类主流的数据仓库模型分别是由Inmon提出的企业级数据仓库模型和由Kimball提出的多维模型。Inmon提出的企业级数据仓库模型采用第三范式(3Nn,先建立企业级数据仓库,再在其上开发具体的应用。它的优点是信息全面、系统灵活,数据存储冗余度低、反映的业务主题能力强以及具有较好的业务扩展性等。但这种模型设计的系统建设过程长,周期长,难度大,风险大,容易失败。Kimball提出的多维模型降低了范式化。以分析主题为基本框架来组织数据。以维模型开发分析主题.这样能够快速实施.迅速获得投资回报。在取得实际效果的基础上,再逐渐增加应用主题,循序渐进,积累经验,逐步建成企业级数据仓库。这种模型的优点是查询速度快,做报表也快;缺点是由于存在大量的预处理,其建模过程相对来说就比较慢。

2、多维建模技术

多维数据建模以直观的方式组织数据。并支持高性能的数据访问。每一个多维数据模型由多个多维数据模式表示。每一个多维数据模式都是由一个事实表和一组维表组成的。常见的有星形模式和雪花模式。星形模式:位于星形中心的实体是指标实体。是用户最关心的基本实体和查询活动的中心,为数据仓库的查询活动提供定量数据。每个指标实体代表一系列相关事实。成一项指定的功能。位于星形图星角上的实体是维度实体。其作用是限制用户的查询结果,将数据过滤从而缩小访问范围。每个维表有自己的属性。维表和事实表通过关键字相关联。

星形模式优点:提高查询的效率,比较直观,通过分析星形模式,很容易组合出各种查询。

雪花模式:雪花模式是对星形模式维表的进一步层次化,将某些维表扩展成事实表。这样既可以应付不冠级别用户的查询.又可以将源数据通过层次闻的联系向上综合.最大限度地减少数据存储量。因而提高了查询功能。雪花模式的维度表是基于范式理论的,因此是界于第三范式和星形模式之间的一种设计模式。通常是部分数据组织采用第三范式的规范结构.部分数据组织采用星形模式的事实表和维表结构。雪花模式的优点:在一定程度上减少了存储空间;规范化的结构更容易更新和维护。

三、建立数据仓库的步骤

l、收集和分析业务需求

2、建立数据模型和数据仓库的物理设计

3、定义数据源

4、选择数据仓库技术和平台

5、从操作型数据库中抽取、净化、和转换数据到数据仓库

6、选择访问和报表工具

7、选择数据库连接软件

8、选择数据分析和数据展示软件

9、更薪数据仓库 [page]  建模原则:要成功地建立一个数据仓库,必须有一个合理的数据模型。数据仓库建模在业务需求分析之后开始,是数据仓库构造的正式开始。在创建数据仓库的数据模型时应考虑:原来的数据源能够提供哪些有用的数据.也就是经过数据的筛选之后能够为数据仓库所用;公司业务层需要什么样的分析结果,这要和公司的高级决策层紧密配合:满足不同层次、用户的需求,兼顾查询效率与数据粒度的需求;支持用户需求变化;避免业务运营系统性能影响;提供可扩展性。数据模型的可扩展性决定了数据仓库对新的需求的适应能力。建模既要考虑眼前的信息需求.也要考虑未来的需求。

四、SQL中数据仓库的构建与分析

在MS SQL SERVER中构建数据仓库时.原始数据库中的数据可能和要建立的数据仓库的需求有很大的出入,原始数据库中存储的是零碎的事务数据.而数据仓库中要的是经过转化和提炼过的统计数据。如原始数据库中存储电信客户每天的所有呼入和呼出记录.而数据仓库并不关心每条记录的数据.而是希望在最短的时间内.以最快的速度统计出这个月的所有的总数量。这时要将对这个查询有意义的数据转化到数据仓库,这就是数据清洗,即EIL。

1、表设计 对于数据仓库(它的数据直接被最终用户消费)的物理设计通常有两种方法.第一种方式是保留源数据的三种通常的表格设计。这个设计对操作性的报表很好,在第三方的源码系统的情况下。这种数据库能够满足应用报表。 第二种方式是空间的设计.这通常作为一个星型或者雪花型的方式提及。这种方法的主要好处是简单而且性能良好。这个模型的简单使得它变得更加容易,并且终端用户掌握和浏览它更加快速。空间数据在相关的设计的性能上能够在实际的测试中被观察到。 接下来的一个设计问题是实现星型还是雪花型方式的设计。在SQL Server环境中.星型跟雪花型的设计比起来,性能很少是一个大问题。甚至在更大一点的维度。例如客户的维度。来自雪花型设计的结果的更窄的表通常为额外的连接进行了补偿。如我们构建FACT为事实表,TIME,ADDRESS,DETAIL分别为时间维。 地址维,详细地址维。DETAIL又是ADDRESS的子维.他们又构成雪花模型。在数据仓库中.需要维护在数据集成度和性能需要中的很好的平衡。虽然数据集成度极端重要.对数据仓库的更新通常通过周期性(通常为每日或每小时)的批量ETL过程得到很好的控制。星型或雪花型模型严格上意味着那些低级别的维度表包含一个主键。这个主键是一个代理键。源系统没有它们的代理键的信息。因此它必须在ETL中通过寻找业务键来获得。在实际的表中,各项限制也是同样的道理。在维度表中定义的限制更加合理。像PK/FK定义了集成度一样,ETL进程的工作室保证所有被载入数据仓库的数据都是干净的。

2、索引策略 维度表的索引:维度表索引相对简单.即使这个策略偏离了市场,效率低的索引也不会产生极大的影响。因为维度表通常比较小和相对稳定。最好是创建一个集群化的、在每一个维度表的代理键的主键。代理键通常是一个IDEN,11TY列,这常常便利了插入操作。在一个业务键上的一个非集群的索引应该从查询目的考虑,或者如果代理键查找是通过Transact—SQL语句执行的。当使用SSIS来执行查找时,表或者表的子集合将会载入到SSIS服务器的存储器中.并且在一个业务键上的索引通常是没有用的。实际表的索引:因为索引的存在并不意味着SQLServer一定要使用它。SQL Server很少使用的索引的创建常常被作为一个入口或者对进程的管理.而不涉及到磁盘资源。索引创建的一个考虑因素是尽可能紧凑的保持它们。紧凑的索引需要更少的页。从这方面说它提高了性能,特别当具有巨大的实际表时更加如此。

3、索引的分片 在数据仓库环境中,索引的性能问题能够被忽略。我们已经找到了执行索引维护的客户.因为观察到这儿并没有寻艮么多的批量窗口来支持它。一个索引片段对性能将产生巨大的负面影响。最好通过创建有用的索引来最小化索引的维护工作.并且重新组织那些被分片的索引。

4、快速载入和查询性能的分离 在数据仓库中表的分离是一个通用的实践.主要是用来方便对大量的实际表进行管理。我们假设水平的分离是基于日期的.这对于时间的实际进展是大致平行的.因此对于数据仓库也是一个不错的选择。虽然维度表能够被分离,但是考虑的时候它们通常过小,所以并不适合分离。分离的优点:降低数据库维护操作:提高载入的有效性:查询优化器能够消除实际表的很大的一部分分离;使得数据归档更加方便。

五、结束语

数据仓库建立成功后,下一步就是在OLAP服务器上建立元数据数据库。这个数据库和我们以前所说的数据库不同。它是存放元数据的数据库,比如我们下一步要创建的多维数据集、角色、数据源、共享维度和挖掘模型等。建设数据仓库项目必然涉及到数据仓库建模的问题.合理而完备的数据模型是用户业务需求的体现,是数据仓库成败的技术因素。在设计数据仓库模型时,不仅要考虑数据存储效率,同时也要考虑数据仓库系统查询性能和OLAP分析性能,并根据具体项目情况灵活调整。

责编:fanwei

太原制作西服

莱芜订制职业装

潍坊防静电工作服制做

相关阅读