数据仓库的物理模型维护和优化.docx
《数据仓库的物理模型维护和优化.docx》由会员分享,可在线阅读,更多相关《数据仓库的物理模型维护和优化.docx(57页珍藏版)》请在冰豆网上搜索。
![数据仓库的物理模型维护和优化.docx](https://file1.bdocx.com/fileroot1/2023-2/7/f52a3907-b301-4180-87df-a077e589a54b/f52a3907-b301-4180-87df-a077e589a54b1.gif)
数据仓库的物理模型维护和优化
摘要
自20世纪90年代以来,计算机技术发展迅猛,各通信商逐步开发出新的BI系统。
实现给通信领域提出了充分利用数据仓库技术,将现有的海量数据构造成为可用、可控、可扩展的数据组织,以适应通信领域各级主管和业务人员的分析需要。
在本论文中从数据仓库需求分析包括参与成员、各个成员所起到的作用;逻辑模型建设通过软件设计,确定表之间的关系;物理模型建设中对表和过程进行详细的审核,用来支持所提出的需求;数据仓库设计以0DS'DWD'DWA为层次,采用横向分层纵向分域的理念,进行具体的实施建立,并在后期提供了错误的应急措施、数据仓库的维护和优化。
关键词:
数据仓库,物理模型,维护和优化
Englishabstract
Sincethenineteenninties,computertechnologyisdevelopingrapidly,thecommunicationbusinessgraduallydevelopedanewBIsystem・Realitytocommunicationfieldispresentedforfullyusingdatawarehousetechnologytoexistingdatastructuresbecomeavailable,controllable,scalabledataorganization,toadapttothefieldofcommunicationatalllevelsofmanagersandbusinessanalysis・
Inthispaperfromthedatawarehouserequirementanalysisincludestheparticipationofmembers,eachmemberoftheroleplayedby;logicmodelconstructionthroughsoftwaredesign,todeterminetherelationshipbetweentables;physicalmodelconstruetionprocesstableanddetailedaudit,usedtosupporttheproposedrequirement;datawarehousedesignwithODS,I)W1),DWAlevels,thehorizontallystratifiedlongitudinaldomainconcept,specificimplementationoftheestablishment,andinlatestageprovideserroremergencymeasures,datawarehousemaintenanceandoptimization.
Keywords:
datawarehouse,physicalmodel,maintenanceandoptiinization
第一章数据仓库槪述0
1.1本论文采用数据仓库的目的0
1.2数据仓库的定义和特点0
1.3数据仓库与数据库1
1.5元数据3
1.5.1技术元数据3
1.5.2业务元数据4
1.5.3元数据的作用5
1.6数据仓库发展方向6
1.6.1数据仓库的产生和发展6
1.6.2数据仓库发展趋势9
1.6.3数据集市、集市群一行业的发展方向11
1.6.4基于Internet2'光处理器计算机和GGG技术的DW15
1.7建设数据仓库的必要性19
第二章数据仓库需求分析20
2.1需求分析原因20
2.2需求分析除段21
2.2.1需求分析成员确立22
2.2.2需求会议24
第三章数据仓库总体设计25
3.1数据仓库实施环境25
3.2确定数据仓库开发的生命周期25
3.3通讯数据仓库设计原则34
3.4确定数据仓库系统的结构及各部分的主要功能35
第四章数据仓库详细设计42
4.1逻辑模型设计42
4.2物理模型设计43
第五章数据仓库实现44
5.1ODS层建设44
5.1.1接口数据抽取45
5.1.2数据抽取策略46
5.1.3ODS层的作用47
5.2DWI)层建设48
5.2.1DWI)定义48
5.2.2实体选取的原则48
5.2.3字段选取的原则48
5.2.4数据转换49
5.2.5数据加载技术及策略51
5.3DWA汇总层建设52
5.4DWA衍生层建设53
第六章数据仓库后期运维55
6.1数据仓库测试55
6.1.1分析源文件55
6.1.2开发策略和测试计划56
6.1.3测试的开发与执行56
6.2数据仓库后期维护57
6.2.1数据仓库数据清理57
6.2.2数据仓库模型更改58
6.3数据仓库性能优化58
6.3.1调整数据库服务器的性能58
6.3.2调整存分配59
6.3.3使用ORACLE的数据完整性约束60
6.3.4使用数据库触发器60
6.3.5使用存储过程61
6.3.6应用程序调整61
总结62
致64
参考文献65
第一章数据仓库概述
1.1本论文采用数据仓库的目的
当前,通信行业(以联通为例)部已经积累了大量的业务处理数据,但是这些数据分布在各级机构、各个部门中,而且数据的操作平台各异,有DOS的、有Windows的、有Unix的、有Solaris的;数据的来源复杂,有存储在硬盘上的,也有存储在磁带、光盘上的;数据的文件格式多样,有各种不同数据库的,也有文本文件型的,还有多媒体文件型的。
这些数据是通信行业决策的宝贵信息资源,在构造新的系统时必须要善加利用。
数据仓库技术为解决苑分有效的利用超大容量、多平台数据资源这个问题提供了方法和手段,能够充分利用现有的海量数据资源,并从中找出对通信的运作和决策有价值的信息。
1.2数据仓库的定义和特点
数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。
数据仓库研究和解决从数据库中获取信息的问题。
数据仓库的特征在于面向主题、集成性、稳定性和时变性。
(1)数据仓库是面向主题的
操作型数据库的数据组织面向事务处理任务,而数据仓库中的数据是按照一定的主题域进行组织。
主题是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。
(2)数据仓库是集成的
数据仓库的数据有来自于分散的操作型数据,将所需数据从原来的数据中抽取出来,进行加工与集成,统一与综合之后才能进入数据仓库。
(3)数据仓库是不可更新的
数据仓库主要是为决策分析提供数据,所涉及的操作主要是数据的查询。
(4)数据仓库是随时间而变化的
传统的关系数据库系统比较适合处理格式化的数据,能够较好的满足商业商务处理的需求。
稳定的数据以只读格式保存,且不随时间改变。
(5)汇总的
操作性数据映射成决策可用的格式。
(6)大容量
时间序列数据集合通常都非常大。
(7)非规化的
DW数据可以是而且经常是冗余的。
(8)元数据
将描述数据的数据保存起来。
(9)数据源
数据来自部的和外部的非集成操作系统。
1.3数据仓库与数据库
数据库已经在信息技术领域有了广泛的应用,我们社会生活的各个部门,几乎都有各种各样的数据库保存着与我们的生活息息相关的各种数据。
作为数据库的一个分支,数据仓库概念的提出,相对于数据库从时间上就近得多。
美国著名信息工程专家William博士在90年代初提出了数据仓库概念的一个表述,认为:
“一个数据仓库通常是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,它用于对管理决策过程的支持。
”这里的主题,是指用户使用数据仓库进行决策时所关心的重点方面,如:
收入、客户、销售渠道等;所谓面向主题,是指数据仓库的信息是按主题进行组织的,而不是像业务支撑系统那样是按照业务功能进行组织的。
集成,是指数据仓库中的信息不是从各个业务系统中简单抽取出来的,而是经过一系列加工、整理和汇总的过程,因此数据仓库中的信息是关于整个企业的一致的全局信息。
随时间变化,是指数据仓库的信息并不只是反映企业当前的状态,而是记录了从过去某一时点到当前各个阶段的信息。
通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预測。
二者的联系:
数据仓库的出现,并不是要取代数据库。
目前,大部分数据仓库还是用关系数据库管理系统来管理的。
可以说,数据库、数据仓库相辅相成、各有千秋。
二者的区别:
(1)出发点不同
数据库是面向事务的设计,数据仓库是面向主题设计的。
(2)存储的数据不同
数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。
(3)设计规则不同
数据库设计是尽量避免冗余,一般采用符合式的规则来设计,数据仓库在设
计是有意引入冗余,采用反式的方式来设计。
(4)提供的功能不同
数据库是为捕获数据而设计,数据仓库是为分析数据而设计。
(5)基本元素不同
数据库的基本元素是事实表,数据仓库的基本元素是维度表。
(6)容量不同
数据库在基本容量上要比数据仓库小的多。
(7)服务对象不同
数据库是为了高效的事务处理而设计的,服务对象为企业业务处理方面的工作人员,数据仓库是为了分析数据进行决策而设计的,服务对象为企业高层决策人员。
1.5元数据
元数据(Metadata)是关于数据的数据。
在数据仓库系统中,元数据可以帮助数据仓库管理员和数据仓库的开发人员非常方便地找到他们所关心的数据;元数据是描述数据仓库数据的结构和建立方法的数据,可将其按用途的不同分为两类:
技术元数据(TechnicalMetadata)和业务元数据(BusinessMetadata)*>
1.5.1技术元数据
技术元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据,它主要包括数据仓库结构的描述,包括仓库模式、视图、维、层次结构和导出数据的定义,以及数据集市的位置和容;业务系统、数据仓库和数据集市的体系结构和模式。
汇总用的算法,包括度量和维定义算法,数据粒度、主题领域、聚集、汇总、预定义的查询与报告。
由操作环境到数据仓库环境的映射,包括源数据和它们的容、数据分割、数据提取、清理、转换规则和数据刷新规则、安全(用户授权和存取控制)。
1.5.2业务元数据
业务元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语义层。
业务元数据主要包括以下:
使用者的业务术语所表达的数据模型、对象名和属性名;访问数据的原则和数据的来源;系统所提供的分析方法以及公式和报表的;具体包括以下:
(1)企业概念模型
这是业务元数据所应提供的重要的,它表示企业数据模型的高层、整个企业的业务概念和相互关系。
(2)多维数据模型
这是企业概念模型的重要组成部分,确定业务分析人员在数据集市当中有哪些维、维的类别、数据立方体以及数据集市中的聚合规则。
这里的数据立方体表示某主题领域业务事实表和维表的多维组织形式。
(3)业务概念模型和物理数据之间的依赖
业务元数据只是表示出了数据的业务视图,这些业务视图与实际的数据仓库或数据库、中的表、字段、维、层次等之间的对应关系也应该在元数据知识库中有所体现。
1.5.3元数据的作用
♦描述哪些数据在数据仓库中。
♦定义要进入数据仓库中的数据和从数据仓库中产生的数据。
♦记录根据业务事件发生而随之进行的数据抽取工作时间安排。
♦记录并检测系统数据一致性的要求和执行情况。
♦衡量数据质量。
元数据管理的主要任务有两个方面:
一是负责存储和维护元数据库中的元数据;二是负责数据仓库建模工具、数据获取工具、前端工具等之间的消息传递,协调各模块和工具之间的工作。
我们了解到元数据几乎可以被称为是数据仓库乃至商业智能(BI)系统的“灵魂”,正是由于元数据在整个数据仓库生命周期中有着重要的地位,各个厂商的都提到了关于对元数据的管理。
但遗憾.的是对于元数据的管理,各个解决方案都没有明确提出一个完整的管理模式;它们提供的仅仅是对特定的局部元数据的管理。
与元数据相关的数据仓库工具大致可分为四类:
(1)数据抽取工具
把业务系统中的数据抽取、转换、集成到数据仓库中,如Ardent的DataStage、CA(原Platinum)的DecisionBase和ETI的Extract等。
这些工具仅提供了技术元数据,几乎没有提供对业务元数据的支持。
(2)前端展现工具
包括OLAP分析、报表和商业智能工具等,如MicroStrategy的DSSAgent、Cognos的PowerPlay'BusinessObjects的BO»以及Brio等。
它们通过把关系表映射成与业务相关的事实表和维表来支持多维业务视图,进而对数据仓库中的数据进行多维分析。
这些工具都提供了业务元数据与技术元数据相对应的语义层。
(3)建模工具
为非技术人员准备的业务建模工具,这些工具可以提供更高层的与特定业务相关的语义。
如CA的ERwin、Sysbase的PowerDesigner以及Rational的Rose等。
(4)元工具
元数据通常存储在专用的数据库中,该数据库就如同一个“黑盒子”,外部无法知道这些工具所用到和产生的元数据是如何存储的。
还有一类被称为元数据知识库(MetadataRepository)的工具,它们独立于其它工具,为元数据提供一个集中的存储空间。
包括微软的Repository»CA的Repository»Ardent的MetaStage和的WCC等。
1.6数据仓库发展方向
1.6.1数据仓库的产生和发展
现在基于业务数据的决策分析——联机分析处理(OLAP),比以往任何时候都显得更为重要。
如果说传统联机事务处理(OLTP)强调的是更新数据库一一向数据库中添加信息,那么OLAP就是从数据库中获取信息、利用信息。
事实上,将大量的业务数据应用于分析和统计原本是一个非常简单和自然的想法。
但在实际的操作中,人们却发现要获得有用的信息并非如想象的那么容易:
第一,所有OLTP强调的是密集的数据更新处理性能和系统的可靠性,并不关心数据查询的方便与快捷。
联机分析和事务处理对系统的要求不同,同一个数据库在理论上都难以做到两全。
第二,业务数据往往被存放于分散的异构环境中,不易统一查询访问,而且还有大量的历史数据处于脱机状态,形同虚设。
第三,业务数据的模式针对事务处理系统而设计,数据的格式和描述方式并不适合非计算机专业人员进行业务上的分析和统计。
可以这么说,以前査询不到信息是因为数据太少了,而今天査询不到则是因为数据太多了。
针对这一问题,人们设想专门为业务的统计分析建立一个数据中心,它的数据从OLTP系统中来、从外部数据源来、从历史业务数据中来……这个数据中心是一个联机的系统,它是专门为分析统计和决策支持应用服务的,通过它可满足决策支持和联机分析应用所要求的一切。
这个数据中心就叫做数据仓库。
数据仓库就是一个作为决策支持系统和联机分析应用数据源的结构化数据环境。
数据仓库所要研究和解决的问题就是从数据库中获取信息的问题。
与关系数据库不同,数据仓库并没有严格的数学理论基础,它更偏向于工程。
由于数据仓库的这种工程性,因而在技术上可以根据它的工作过程分为:
数据的抽取、存储和管理、数据的表现以及数据仓库设计的技术咨询四个方面。
(1)数据的抽取
数据仓库是一个独立的数据环境,它需要通过抽取过程将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入数据仓库。
数据抽取可以定时进行,但多个抽取操作执行的时间、相互的顺序、成败对数据仓库息的有效性则至关重要。
(2)存储和管理
数据仓库的真正关键是数据的存储和管理。
数据仓库的组织管理方式决定了它有别于传统数据库的特性,同时也决定了其对外部数据表现形式。
要决定采用什么产品和技术来建立数据仓库核心,则需要从数据仓库的技术特点着手分析。
♦如何完成对大量数据的存储和管理
♦并行处理能力
♦针对决策支持查询的优化
♦支持多维分析的查询模式,这也是关系数据库在数据仓库领域遇
到的最严峻的挑战之一。
(3)数据的表现
数据表现是数据仓库的门面。
这里说的主要是多维分析、数理统计和数据挖掘方面。
(4)数据仓库设计的技术咨询
数据仓库绝不是简单的产品堆砌,它是一个综合性的解决方案和系统工程。
在数据仓库的实施过程中,技术咨询服务至关重要,是一个不可缺少的部分,它甚至于比购买产品更为重要。
就目前的发展来看,建立数据仓库有两个基本条件:
建立数据仓库的行业有较为成熟的OLTP系统,它为数据仓库提供客观条件;行业面临市场竞争的压力,它为数据仓库的建立提供外在的动力。
另外建立大型数据仓库,成本也是较高的,所以对企业的经济实力也是个考验。
所以数据仓库的概念一经出现,就首先被应用于金隸、电信、保险等行业。
1.6.2数据仓库发展趋势
(1)数据仓库规模不斷增长
所有企业的数据仓库规模都将呈指数增长,数据源的增长以及企业对数据更好的获取能力推动了这种增长。
另外存储成本也越来越便宜,因此企业能够保存更长期的数据。
但数据增长也将使企业面临一些新问题,包括数据仓库的可升级性以及可能出现的性能问题。
(2)数据集市的整合
(3)客户数据集成
许多企业如今很想跨越产品线、业务单位、渠道和地理各方面来综合地得到一个关于客户的单一视图,一种称之为客户数据集成(CDI)的解决方案应声而出,其核心部分由数据仓库和相关技术构成。
客户数据集成提供了对客户数据360。
的全方位视图,并使企业可以从任何一个接触点上对客户进行认识和做出反应。
(4)开发商的整合
由于企业都想得到完备的产品套件,数据仓库和商务智能开发商因此将越来越多的功能融合到他们的产品中去。
(5)EAI和ETLx具的集成
(6)快速反应的决策支持
电子商务的不斷增长驱使着企业去寻找共享数据和对机会快速反应的方法,虽然真正的实时决策支持基本是不可能的,但数据仓库技术的进步却使快速反应的决策支持得以实现。
在数分钟或数秒钟对数据进行分析和对事件做出反应的能力有助于企业在各方面的行动,比如供应链管理、客户服务和商务性能管理等。
(7)非结构化信息的增长
企业正面临着非结构化和半结构化数据的增长,包括图像、声音、视频'XML以及其它的数据类型。
同时,相关的技术也在不斷出现,使企业可以采用跟以前处理传统的结构化数据资源的方式,来存储和挖掘这些数据。
(8)越来越了解如何对“成功或失败”问题做出正确分析一一知识管理
在企业仓促着手建立数据仓库或其它分析型知识库时,数据质量或元数据这些重要问题经常被忽视,其后果就是,很多企业现今发现他们的行动成功性打了不少折扣,因为他们不能确定“成功或失败”问题。
数据质量问题和元数据的缺乏会严重影响用户对数据仓库的接受程度,也只能得到可怜的分析结果和不正确的决策。
这是一个相当复杂的问题,需要花费时间和精力去确定他们。
(9)强调应用程序VS数据仓库
对大多企业来说,数据仓库不再是单独的一件事。
需要确定投资回报率。
数据仓库项目跟以前一样是必需的,但可能会尽量跟应用程序联系起来以便于计算投资回报率和调整项目成本。
(10)越来越注重盈亏问题
艰难的经济环境迫使企业除了收入增长外,还得认真考虑收益率问题。
这种不斷增加的对盈亏问题的注意力影响到了IT项目,其中包括数据仓库,最终导致各级水平上的成本削减。
新的数据仓库项目仍将不斷进行,但是企业不会再妄想一步登天去做那些对盈利没有直接影响的事;它们还想有一个明确的商业案例»明确的投资回报率和更短的回报周期。
1.6.3数据集市、集市群一行业的发展方向
在数据仓库产品方面,微软是以其关系数据库SQLServer作为它数据仓库核心的。
微软的OLAP走的是ROLAP的路子,与其数据转换一样,属于常规的解决方案;而并行处理和决策支持扩展则不是SQLServer的强项。
因此,整个解决方案仍面向中低端,价格取胜是关键。
为此,微软在数据仓库市场中倡导了另一个概念——数据集市(DataMart)<>所谓数据集市就是一个面向部门应用的、小型的数据仓库;所采用的技术与数据仓库相似,但存储的容臾加专题化。
对于数据集市这样的规模,微软的解决方案便可成为理想的选择。
虽然微软是无数IT人士“憎恨”的对象,但我们不得不承认,它在市场定位方面的工作一直很成功。
其所坚持的走大众化、平民化道路的理念,从操作系统中的windows»办公软件里得0仃ice到数据库领域的SQLSever等等,无一不是成功的案例。
在这次数据仓库的较量中,微软又打起了数据集市的大旗。
就目前情况而言,能够建立大型数据仓库的企业毕竟还局限于有雄厚实力的大型公司。
而占市场相当比重的中小企业,一方面难以接受建立数据仓库高昂的成本,另一方面使用大型数据仓库来解决他们少量的工作也显得有些浪费。
而此时数据集市则成了他们不错的选择。
表1-1数据集市与数据仓库的区别
数据仓库
数据集市
数据来源
OLTP、遗留系统、外部数据
数据仓库
国
企业级
部门级、工作组级
主题
企业主题
部门或专项主题
数据粒度
最细粒度
较粗粒度
数据结构
3NTF
星型、雪片型
历史数据
大量历史数据
适度历史数据
优化
处理海量数据、数据探索
便于访问分析、快速查询
索引
高度索引
高度索引
数据集市可以分为两种类型:
独立型数据集市和从属型数据集市。
独立型数据集市直接从操作型环境获取数据,从属型数据集市从企业级数据仓库获取数据。
作为快速解决企业当前存在的实际问题的一种有效方法,独立型数据集市成为一种既成事实。
独立型数据集市是为满足特定用户的需求而建立的一种分析型环境,它能够快速地解决某些具体的问题,而且投资规模也比数据仓库小很多。
但独立数据集市也存在一些问题:
♦冗余数据。
随着独立数据集市数量的增长,数据冗余量也不断增长,这种冗余是由于每个独立数据集市都有一个整体数据的备份而引起的,但这些数据中有不少通常并不是必需的。
♦冗余流程。
数据仓库的体系结构可以对所有数据集市的共同活动进行集中化,没有数据仓库,这些流程就必须为每个数据集市进行复制,这将大大增加维护I)SS所需的员工数量。
♦较低的可伸缩性。
独立数据集市直接读取运作系统的文件或表,这极大限制了DSS的伸缩能力。
♦非集成。
独立数据集市是由自成体系的团队建立的,而且一般是为不同的部门建立的,导致这些数据集市没有进行集成,而且没有一个会包含了整个企业的视图。
因此,如果CEO让信息部门提供一个获利能力最强的客户列表,那么从每个数据集市分析到的答案都将是不同的。
独立型数据集市的存在会给人造成一种错觉,似乎可以先独立地构建数据集市,当数据集市达到一定的规模再直接转换为数据仓库。
实际上多个独立的数据集市的累积,是不能形成一个企业级的数据仓库的。
如果企业最终想建设一个全企业统一的数据仓库,想要以整个企业的视图分析数据,独立型数据集市恐怕不是合适的选择。
现在的业人士普遍认为,从属型数据集市在体系结构上比独立型数据集市更稳定,可以作为数据集市未来建设的主要方