《Oracle9i关系数据库实用教程(第二版)》.ppt》由会员分享,可在线阅读,更多相关《Oracle9i关系数据库实用教程(第二版)》.ppt(46页珍藏版)》请在三一办公上搜索。
1、数据仓库和分布式应用,第11章,Oracle9i关系数据库,11.1 数据仓库,一、数据仓库简介 1数据仓库的定义及特性数据仓库就是面向主题的、集成的、不可更新的(稳定性)、随时间不断变化(不同时间)的数据集合,用以支持经营管理中的决策制定过程,数据仓库中的数据面向主题,与传统数据库面向应用相对应。主题是一个在较高层次上将数据归类的标准,每一个主题对应一个宏观的分析领域。,2数据仓库系统作为决策支持系统,数据仓库系统包括:数据仓库技术(Data Ware housing,简称DW);联机分析处理技术(On-Line Analytical Processing,简称OLAP);数据挖掘技术(Da
2、ta Mining,简称DM);,3Oracle数据仓库的特点(1)丰富的查询处理技术(2)高级SQL优化器(3)高端数据仓库技术和OLTP(4)资源管理(5)分区表与索引(6)摘要管理(7)透明的表空间(8)直接的路径装载API,4 Oracle数据仓库的发展趋势 数据仓库的发展趋势,必然是与电子商务的融合,为电子商务和客户关系管理系统的应用,提供完善的信息源,最终为企业的发展服务。,二、Oracle数据仓库的体系结构 Oracle的数据仓库解决方案包含了业界领先的数据库平台、开发工具和应用系统。Oracle数据仓库突破了现有数据仓库产品的局限,能够帮助企业以任何方式访问存放在任何地点的信息
3、,在企业中的任何层次上,满足信息检索和商业决策的需求。,三、Oracle数据仓库设计和建立工具 Oracle Warehouse Builder(以下简称OWB)是Oracle公司于1998年宣布的一个用于帮助企业构建数据仓库的集成工具。OWB将从前各自分离的产品提供的功能集成到一个公共的环境。这些功能包括:数据模型构造和设计、数据提取、移动和装载、元数据管理、分析工具的整合以及数据仓库的管理。,OWB具有如下特点:(1)全面的数据仓库功能(2)强调数据仓库的管理(3)支持复杂的提取、转换和传输过程(4)利用数据库服务器提高性能(5)与前端分析工具紧密集成(6)开放、可延伸的框架,Oracle
4、 Warehouse Builder由下列这些主要部件组成:(1)OWB RepositoryOWB Repository包含遵循Common Warehouse Metadata标准的元数据,OWB元数据用于建立数据仓库,提供和Oracle数据库服务器,Express Server以及Discoverer的集成。(2)OWB User Interface一个图形化,采用面向对象技术,基于Java的框架,实现从任何平台管理数据模型建立和数据仓库环境的快速构造。,(3)OWB Warehouse Administrator和Oracle Enterprise Manager集成,管理工作流和数据
5、仓库建立以及数据读取的全过程。(4)OWB Software Development Kit使用SDK,用户和合作伙伴可通过集成他们自己的数据抽取程序实现OWB功能的扩展。,四、Oracle集成的决策分析工具集 1Oracle的联机分析处理(OLAP)工具Oracle Express(1)Oracle Express服务器(2)Oracle OLAP的强大的开发工具,2Oracle即席查询分析工具Oracle Discoverer Oracle Discoverer是Oracle为数据仓库和联机事务处理系统而设计的即席查询、在线分析报表工具。Oracle Discoverer具有业界领先水平的
6、、简单易用的用户界面,独特的查询时间预测功能,汇总管理和自动重定向功能。,3Oracle的数据挖掘工具Data mining suite数据挖掘(Data Mining)是决策分析技术的一个更高层次,数据挖掘技术采用人工智能的决策分析方法,按照用户既定的业务目标,对数据仓库中浩如烟海的数据进行探索,揭示隐藏其中的规律,并进一步将其模型化。,从业务问题的定义到分析结果的实施,Data mining suite提供完整的工具:(1)确定业务问题(2)为挖掘准备数据(3)建立多种模型(4)分析结果(5)发布商业智能,4Oracle应用服务器Internet Application Server In
7、ternet Application Server担任INTERNET运算架构下的应用服务器,提供共享式网络应用程序的一个可扩展、稳定可靠、易于管理的平台。作为INTERNET计算结构中的通用应用服务器,Internet Application Server为容纳和开发各种各样INTERNET和INTRANET应用提供了一个理想的、开放的、基于标准的对象体系结构。,Oracle的决策支持产品可以结合使用,提供无缝的商业智能分析:(1)Discoverer的用户能将动态的工作簿的内容传至Express,Express利用此数据建立多维立方体,供用户做更复杂的分析。(2)Express的用户能根据
8、Express应用中的分析结果到Discvoerer中查询明细的交易记录。,(3)Oracle Reports用户能将Discoverer或Express的分析结果进行报表发布。Discoverer的用户可以将工作簿的内容输出到报表定义文件(.RDF),通过Oracle Reports Server按时间表进行发送。Reports用户可以选择多种预定义的报表模板,并可进行报表预览。Oracle Reports中提供报表向导(Wizard)用于从Express Server中生成报表,Report Builder可使用户生成一个Express查询,Express查询可用Express的Selec
9、tor工具进行细化。,11.2分布式数据库,一、分布式数据库简介 1什么是分布式数据库数据库系统对分散在各处的应用数据相对地集中到一个数据库中,进行集中统一的管理。极大地减少了数据的冗余,消除了数据不一致的隐患,提高了存储和查询效率。现实应用需要能处理分散地域的,具备数据库管理特点的新的数据库系统。伴随着计算机网络的日趋成熟和分布式系统的不断完善,分布式数据库系统开始出现。,2分布式数据库系统结构 分布式数据库系统由下述成分组成:(1)多台计算机设备,并由计算机网络连接。(2)计算机网络设备,网络通讯的一组软件。(3)分布式数据库管理系统,包括GDBMS、LDBMS、CM,除了具有全局用户接口
10、由GDBMS链接外,还可能具有自治场地用户接口,由场地DBMS链接,并持有独立的场地目录/辞典。,(4)分布式数据库,包括全局数据库和局部数据库以及自治场地的自治场地数据库。(5)分布式数据库管理者,它可分为两级,一级为全局数据库管理者,另一级为局部或自治场地数据库管理者,统称为局部数据库管理者。(6)分布式数据库系统软件文档,这是一组与软件相匹配的软件文档及系统各种使用说明和文件,3同构和异构分布式数据库,分布式数据库系统允许应用访问本地和远程数据库中的数据。在同构分布式数据库系统中,每个数据库都是一个Oracle 数据库。在异构分布式数据库系统中,至少有一个数据库是非Oracle 数据库,
11、分布式数据库使用客户/服务器结构来处理信息请求。,(1)同构分布式数据库系统,(2)异构分布式数据库系统 在一个异构分布式数据库系统中,至少有一个数据库是非Oracle 系统,对于应用来说,该异构分布式数据库系统就像是一个单独的本地的Oracle 数据库,本地Oracle 数据库服务器隐藏了数据的分布和异构的情况。Oracle 数据库服务器通过使用Oracle 异构服务Oracle Heterogeneous Services 并结合一个代理来访问非Oracle 系统,如果使用Oracle 透明网关Transparent Gateway 来访问非Oracle 数据存储那么该代理就是一个系统特殊
12、的应用。,4容易混淆的几个概念,(1)分布式数据库 分布式数据库是计算机网络环境中各场地或节点上数据库的逻辑集合。它是一组结构化的数据集合,逻辑上属于同一系统,而物理上分布在计算机网络的不同节点上,具有分布性和逻辑协调性的特点。(2)分布式处理 分布式处理是当应用把它的任务分配到网络中的不同计算机上发生的操作。,(3)分布式数据库管理系统 分布式数据库管理系统是用于管理分布式数据库,同时使这种分布对用户透明的软件系统。一个分布式的数据库系统应满足以下四个假设条件:数据存储在一些场所中,每个场所逻辑上假定为单个处理器。场所中的处理器由计算机网络互联,松散互联的处理器有它们自己的操作系统,并可进行
13、独立操作。分布式数据库不是一个能在每个网络节点上单独存储的文件的汇集,而是一个实实在在的数据库。系统具有DBMS的完备功能,它不仅包括事务处理和分布式文件系统,还有查询处理和结构数据组织等功能。,(4)分布性与逻辑协调性 分布性是指数据不是存放在单一场地为单个计算机配置的存储设备上,而是按全局需要将数据划分成一定结构的数据子集,分散地存储在各个场地(节点)上。逻辑协调性是指各场地上的数据子集,相互间由严密的约束规则加以限定,而在逻辑上是一个整体。,二、Oracle中分布式数据库的管理,1数据库链接(1)数据库链接的概念数据库链接是分布式数据库系统中的核心概念。数据库链接是在两个物理数据库服务器
14、之间的连接,该链接允许客户像访问一个逻辑数据库一样来访问它们。,(2)全局数据库名与数据库链接的名称分布式数据库系统中的每个数据库都惟一地由它的全局数据库名所标识。Oracle 是这么构成数据库的全局数据库名的:将单独的数据库名称在DB_NAME 初始化参数中指定作为前缀加到该数据库的网络域名称,在DB_DOMAIN 初始化参数中指定之前,尽管几个数据库可以共享一个个体的名称,但每个数据库都必须要有一个惟一的全局数据库名。,(3)数据库链接的类型私有数据库链接:比公共或全局链接更安全,因为只有私有链接的拥有者或相同模式中的子程序才能使用该链接来访问远程数据库。公共数据库链接:当很多用户都需要一
15、个访问远程Oracle 数据库的路径时就可以为数据库中的所有用户创建一个单独的公共数据库链接。全局数据库链接:当一个Oracle 网络使用Oracle 名称时管理员就能方便地为该系统中的所有数据库管理全局数据库链接,数据库链接的管理是集中式的和简单的。,(4)数据库链接的限制使用数据库链接时不能执行下面的操作:授予远程对象上的权限。在某些远程对象上执行DESCRIBE 操作(不包括表,视图,过程,函数)。定义或者实施参照的完整性。给远程数据库中的用户授予角色。获得远程数据库上的非默认的角色。执行使用共享服务器连接的散列查询联结。,(5)数据库链接的创建数据库链接由CREATE DATABASE
16、 LINK 语句来创建,语法为:CREATE PUBLIC DATABASE LINK LinknameCONNECT TO username IDENTIFIED By passwordUSINGconnectstring,(6)访问远程数据库的数据数据库链接建立好后,即可访问远程数据库的数据,使用数据链接的方式为:SELECT col1,col2 FROM tablename dbLink;在该查询语句中,符号指示该基表为数据库链接dbLink所指定的存放在远程数据库中的基表。,2位置透明性(1)使用视图创建位置透明性本地视图能为分布式数据库系统中的本地和远程表提供位置透明性。例如假设表e
17、mp存储在本地数据库中,表dept 存储在远程数据库中,为了使这些表对系统中的用户透明,可以在本地数据库中创建视图,该视图联结本地和远程数据。CREATE VIEW companyASSELECT a.empno,a.ename,b.dnameFROM scott.emp b WHERE a.deptno=b.deptno;,(2)使用同义词创建位置透明性创建同义词的语法为CREATE PUBLIC synonym_nameFOR schema.object_namedatabase_link_name,(3)使用过程创建位置透明性1)使用本地过程参照远程数据过程或函数或是独立的,或是在包中的
18、,可以包含参照远程数据的SQL 语句,例如,由下面的语句所创建的过程:CREATE PROCEDURE fire_emp(enum NUMBER)ASBEGINDELETE FROM WHERE empno=enum;END;,2)使用本地过程调用远程过程可以使用本地过程来调用远程过程,之后远程过程就能执行所需的DML。例如假设scott 连接到local_db 并创建下面的过程:CONNECT scott/tigerlocal_dbCREATE PROCEDURE fire_emp(enum NUMBER)ASBEGINEXECUTE;END;,3)使用本地同义词参照远程过程例如scott
19、连接到本地 数据库上,并创建下面的过程:CREATE PROCEDURE fire_emp(enum NUMBER)ASBEGINDELETE FROM WHERE empno=enum;END;,3语句透明性Oracle 允许下面的标准DML 语句参照远程表。SELECT 查询INSERTUPDATEDELETELOCK TABLE,应用语句透明性的几个限制如下:(1)在单个SQL 语句中所有被参照的LONG 和LONG RAW 列序列,被更新的表和被锁定的表都必须位于同一节点上。(2)在同构系统中除了通过远程执行DBMS_SQL 包过程之外,Oracle 不允许执行远程DDL 语句。(3)
20、ANALYZE 语句的LIST CHAINED ROWS 子句不能参照远程表。,4使用快照快照可以基于多个基表的查询,可按照预先设置的时间间隔定期自动刷新。建立快照的语句如下:CREATE SNAPSHOT snapshotnameSTORAGE(STORAGE PARAMETERS)TABLESPACE tablespacenameREFRESH FAST/COMPLETE/FORCEas query,5分布式数据库监控大多数的数据库级监控系统在分析数据库性能时不需要考虑其环境。不过,必须考虑数据库的下面这些关键性能:主机的性能。磁盘和控制器间的I/O分布。内存的利用。对于分布式数据库,还必
21、须考虑以下几点:网络及其硬件的容量。网络段上的负载。主机间不同物理访问路径的使用。,6分布式数据库调整当调整一个独立数据库时,其目的是要减少查找数据的时间。可以使用一系列的数据库结构和选项来增加在内存或数据库的第一查找位置找到数据的可能性。处理分布式数据库时,存在一些附加条件。因为不仅要找到数据,而且还要通过网络传输数据。执行一个查询等于是执行两步操作。因此必须考虑数据在网络上的传输方法,目的是缓解网络拥挤现象。,减少网络流量的另一种方法是通过远程过程调用。此外还包括调整SQL和应用程序设计的信息。如果数据库已正确地构造好,那么调整应用程序处理数据的方法将获得最显著的性能改善。,三、分布式事务管理 1分布式事务的概念 分布式事务包含一条或多条语句,构成一个逻辑工作单元,可以包括针对分布式数据库的两个或多个不同的节点上的多个数据库的事务操作。,1.简述数据仓库的作用?2 Oracle数据仓库与电子商务有何关系?3 Oracle Warehouse Builder有何特点?4 Oracle有哪些集成的决策分析工具,简要叙述其功能。5 什么是分布式数据库,与集中式数据库有何不同?6 为什么说数据库链接是分布式数据库系统中的核心概念,数据库链接有几种类型?7 有哪些方法可以实现位置透明性,简要叙述之。8 叙述分布式事务管理中两阶段提交机制的实现过程。,本章练习,