Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5543021
  • 博文数量: 763
  • 博客积分: 12108
  • 博客等级: 上将
  • 技术积分: 15717
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-28 21:21
个人简介

业精于勤,荒于嬉

文章分类

全部博文(763)

文章存档

2018年(6)

2017年(15)

2016年(2)

2015年(31)

2014年(14)

2013年(87)

2012年(75)

2011年(94)

2010年(190)

2009年(38)

2008年(183)

2007年(28)

分类: DB2/Informix

2008-05-06 22:02:15

第二节 共享内存数据组织结构
OnLine能高效地执行联机事务处理的第二个机制是数据库服务器系统的共享内存。在一些 不使用共享内存的数据管理系统中,管理进程只能在需要数据的时候,将该记录和索引的最新值读 入该进 程 所占有的私用数据缓存中进行操作,由于频繁的磁盘I/O,使系统的运行效率降低,同时 由于那些管 理进程都各占一份数据缓存,使得系统内存的有效使用率降低。因此使用共享内存 会有 以下三方面的 好处:
(1)数据缓存不再属于某个进程,所有的数据库进程均共享这块内存,降低了磁盘的 I/O;
(2)所有数据库进程访问相同的访问,它们的值和索引在内存中只有一份拷贝,提高了内 存的有效使用率;
(3)操作的相关记录被预读进共享内存中,由于内存的I/O效率极高,因而系统并发除了数 据的能力得到提高。
 
随着OnLine功能和性能的不断提高,OnLine的共享内存也有所不同。尤其是INFORMIX的动态服务器OnLine Dynamic Server (ODS)在其共享内存的结构上增加了两个功能模块。在OnLine5 中, 其共 享内存仅有一个区域,驻留区Resident portion;动态服务器ODS 7.1除了驻留区  Resident portion 外还增 加了虚拟区 Virtual portion 和通讯区 Communication portion。 

操作系统参数对数据库服务器共享内存的影响
操作系统的共享内存参数对数据库服务器的共享内存的定义和建立会产生极大的影响。对 INFORMIX来说,数据库服务器的共享内存绝对不能超过操作系统共享内存定义的允许范围。一个 OnLine 动态服务器7.1的共享内存不能超过操作系统所定义的一个UNIX进程所允许访问共享内存的 极大值,由于操作系统对共享内存的定义往往不能满足OnLine动态服务器7.1的需要,因此,数据库 管理员通 常需要在建立其数据库应用系统以前,首先调谐操作系 统的共享内 存参数。
对于OnLine动态服务器7.1来说,操作系统的参数对它们的影响,在共享内存锁资源管理方 面 和虚拟处理器对共享内存访问操作方面是不全部相同的。它们对操作系统参数的要求也是不一样 的, 因此需要数据库管理员根据产品来决定操作系统的参数,在决定这些操作系统的参数前,请先 阅读产 品说明文件。例如OnLine动态服务器7.1的$INFORMIXDIR/release/ONLINE_7.1,在这个文件 中它向数据库管理员阐述该INFORMIX产品在该机器平台上对操作系统参数的要求。同一种产品在 不同的平台上,对该平台操作系统参数的要求非常有可能是不一样的;在同一平台上,同一产品的 不同版本对操 作系统参数也很有可能是不同的。


第三节 处理器资源组织结构
OnLine 动态服务器7.1采用多进程 Multi-processes 多线索 Multi-treads 的数据库服务器机制 , 将每一个服务器进程根据用户定义分解成若干个线索,每一个线索响应一个用户的设计访 问的 请求。 INFORMIX将每一个 进程称作一个虚拟处理器Virtual process。
在以前的多处理器系统中,往往将用户的应用程序和系统的处理器CPU对应起来,每一个处理器都分别处理一个用户的应用程序; 当应用程序数量多于处理器数目时,应用程序为争夺处理器 资源CPU,而引起应用程序在运行时间上的不平衡;同时当应用程序的数量少于处理器数目时,由 于一 些 处理器资源得不到运用而空闲,导致处理器资源运用上的不平衡。一种比较好的方法是将处 理器与应 用所需要的处理器分离开来,然后由数据库系统来平衡这种需求。 在 INFOR MIX 动态服 务器中,用 户应用程序发出的数据操作请求被称作虚拟处理器的服务器进程所接收, 然后 OnLine均 匀地将这些 服务器进程分配到系统实际的处理器CPU上。这样就较好地解决了上面 所提到的两种不 平 衡状态。
在ODS 7.1中每一个数据库服务器进程都称作一个虚拟处理器 Virtual   process,简称 VP。 若干个相同功能的虚拟处理器组成一个虚拟处理器类Virtual  process  Class,简称VP Class, 每一个 VP Class 都表示一种功能的虚拟处理器。OnLine 一共有七种虚拟处理器,它们是:
处理器虚拟处理器 CPU VP,响应所有用户和OnLine系统对CPU资源的操作和协调。
磁盘输入输出虚拟处理器 Disk I/O VP,响应用户和  OnLine系统的磁盘输入输出请求,磁 盘输 入输出处理器分三种,异步输入输出 Asynchronous  I/O、物理日志输入输出 Physical-log  I/O 和逻辑日志 输入输出Logical-log I/O。
网络通讯虚拟处理器 Network VP,响应用户的网络联接的请求。 ODS 的网络虚拟处理器 有三种, 它们分别用于管理 tli、soc和ipc三种网络通讯接口。
系统管理虚拟处理器Adminstration VP,运行OnLine 系统管理程序和一些专职程序。
光盘虚拟处理器 Optical VP,当用户运行OnLine/Optical时管理光盘系统的运转。
审计虚拟处理器  Audit  VP,当用户系统需要一定的运行时数据安全性的时候,审计虚拟处 理器在后台帮助检查每一个用户操作的合法性。
杂项管理虚拟处理器 Miscellaneous VP,用于管理所有以上虚拟处理器不作的工作。
阅读(1009) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~