Oracle数据库几种常见的应用结构
在安装、部署Oracle数据库软件时,需要根据不同应用结构(即硬件平台、操作系统平台)采用不同的方法(基本安装、高级安装),下面介绍几种常见的应用结构。
1. 应用系统的数据接口
客户端应用程序或应用服务器向数据库服务器请求服务时,首先必须和数据库建立连接。虽然现有DBMS几乎都遵循SQL标准,但不同厂家开发的DBMS有差异,存在适应性和可移植性等方面的问题,为此,人们研究和开发了连接不同DBMS的通用方法、技术和软件接口。
2. 客户/服务器(C/S)模式应用系统
在C/S(cilent/server)结构模式中,所有数据集中存储在服务器中,数据处理由服务器完成,一般采用硬件资源配置比较高的机器作为服务器,而使用配置比较低的PC作为客户端。客户端与服务端之间通过专用的网络连接,一般为局域网或企业内部网。
如图2-1Oracle客户端/服务器系统结构。应用程序运行在客户端,Oracle数据库运行在服务器,二者之间通过计算机网络连接在一起。Oracle使用SQL*NET在客户端与服务器之间进行通信。
图1-2 Oracle客户端/服务器系统结构
3. Oracle浏览器/服务器系统结构
如图2-2所示为Oracle浏览器/服务器(B/S,Browser/Server)三层系统结构。在B/S的三层模型中,客户端应用程序采用WEB浏览器展示。
图2-2 Oracle浏览器/服务器三层系统结构
客户端即浏览器没有加载程序,程序部署在Web服务器上,客户端需要加载或浏览数据,首先通过网络将请求发送给Web服务器,Web服务器通过请求访问Oracle数据库服务器,然后Web服务器响应将数据传递展示在客户端。
B/S结构是面向非连接的,即存取数据时建立连接,存取结束时断开连接,再次存取数据需重新建立连接,所以与C/S结构相比,其效率低。所以,B/S主要应用于运行效率要求不高,以数据对外发布为主的环境。
4. 单磁盘独立主机结构
单磁盘独立主机结构是最简单,最常用的结构,在该机构中只有一台计算机,并且计算机使用一个硬盘,在这里Oracle实例表示DBMS,用数据库文件表示数据库,如图2-3:
图2-3 单磁盘独立主机结构
注:数据库服务器(也叫做实例),由一组内存结构和访问数据库文件的后台进程组成。
这种应用结构只有一个数据库服务器(DBMS)、一个数据库文件(数据库结构),并且这些数据文件都存储在一个屋里磁盘上,这是最基本的应用结构,其他的应用结构都是在基础上修改和扩展。
这种结构将所有数据库文件都存放在一个硬盘上,因此对硬件的可靠性要求较高,性能调整的方向主要是视图减少对数据库文件的访问次数。
5. 多磁盘独立主机结构
多磁盘独立主机结构只有一台计算机,但该计算机使用了多个硬盘,如图2-4:
图2-4 多磁盘独立主机结构
该结构只有一个数据库服务器,一个数据库结构,但是数据库存储在多个物理磁盘中,数据库文件的分开存储减少了连接数量,也减少了对数据库文件的读写操作。
如果在这些磁盘上采用磁盘镜像技术(RAID技术,独立磁盘冗余阵列技术),则所有数据库文件在每个硬盘上都有完整的备份,任何一个硬盘发生故障,都能由镜像磁盘代替其工作,并可对其进行维修、恢复,因此提高了硬件的可靠性。
当处理一个事务或查询需要对数据库进行操作,往往涉及多个文件的信息,在这种多磁盘结构中可将数据库文件存在不同的物理磁盘上,这样可以减少数据库文件之间的竞争数量,从而提高数据库的性能。
注:多磁盘不一定是镜像的,但是镜像的一定是多磁盘的,通常,磁盘的镜像是由硬件系统实现,而不是Oracle的镜像解决方案。
6. 多数据库独立主机结构
多数据库独立主机结构只有一台计算机,可以有一个或多个硬盘,如图2-5:
图2-5 多数据库独立主机结构
这种结构由多个数据库服务器,多个数据文件组成,虽然一台计算机上装有两个数据库,但是它们的内存结构、服务器进程和数据库文件等都不是共享的,它们有各自的内存机构、服务器进程和数据库文件,彼此之间不能进行共享,即一个数据库的进程不能访问另一个数据库的文件。这种结构对硬件要求较高(内存大、CPU运算强、硬盘快),一般不采用这种结构。
7. Oracle 分布式数据库系统结构
数据库系统按数据分布方式可分为集中式数据库系统和分布式数据库系统。集中式数据库系统是将数据集中存放在一台计算机上,而分布式数据库系统是将数据存放在由计算机网络连接的不同计算机上。一个分布式数据库是由分布于计算机网络上的多个逻辑相关的的数据库组成,网络的每个节点都具有独立处理能力,可以执行局部应用,也可以通过网络执行全局应用。如图2-6为分布式数据库系统结构:
图2-6 分布式数据库系统结构
从图2-6可以看出,分布式数据库系统由以下部分组成:
· 局部数据库管理系统 :创建和管理局部数据库,执行局部和全局应用子查询。
· 全局数据库管理系统:协调各局部数据库管理系统,共同完成全局事务的执行并保证全局数据库执行的正确性和全局数据的完整性。
· 通信管理:实现分布在网络中各个数据库之间的通信。
· 全局数据字典:存放全局概念模式。
· 局部数据库:查询全局数据库信息。
分布式数据库管理系统的数据在物理上是分布存储,即数据存放在计算机网络上不同节点(局部数据库),而在逻辑上数据之间有语义上的联系,属于一个系统。访问数据库的用户即可是本地用户,也可是网络连接的远地用户。
Oracle支持分布式数据结构,属于客户/服务器模式结构。在网络中每个用户具有多用户处理能力的硬件平台都可以作为服务器,多个服务器上的数据库对用户来讲是一个逻辑上的单一数据库系统。在分布式数据库中,各个服务器之间可以实现数据的实时、定时复制,通过Oracle的远程数据复制选件、快照等在多个不同地域实现数据远程复制。