2024年5月6日发(作者:)

INFORMIX数据库技术交流

第一部分:INFORMIX动态服务器体系结构简介

重点内容:

动态服务器系统的主要组成部分

动态服务器共享内存中的三个组成部分

了解动态服务器系统的进程结构

描述多线索

列举动态服务器系统在磁盘上的组成部分

动态服务器的系统结构

INFORMIX动态服务器采用的是一种多线索体系结构,这就意味着一个进程利用

自己的多个线索可以同时完成多个任务,因而整个系统只需要较少的进程就足以

完成DBMS的任务。

动态服务器系统由三个主要组件构成:共享内存,进程和磁盘。

共享内存包括三个段:驻留段。虚拟段和消息段。驻留段主要用作磁盘数据

的缓存。虚拟段主要用作内存池以支持进程及相关的会话(session)和线索。当

客户与服务器利用共享内存进行通信时,消息段将用作两者之间的消息缓冲区。

系统中还包括若干构成数据库服务器的UNIX进程,称为oninit.这些进程

被称为虚拟处理器(VP)(virtual processors)。每一VP隶属于某一虚拟处理

类。而每一虚拟处理器类都负责完成一类特定的任务。

系统的磁盘组件由多个原始磁盘空间组成,称为chunk,chunk以页(page)

为基本单位。多个chunk集合逻辑上构成了数据空间(dbspace)。数据空间用于

存储数据库、表、系统信息以及物理日志和逻辑日志。一个数据空间至少包括一

个chunk.

共享内存段

动态服务器的共享内存由三个段构成:

驻留段主要用作缓冲池,缓冲池主要由数据页缓冲区和逻辑日志和物理日

志的缓冲区以及其他系统数据结构。驻留段的大小主要由系统参数

BUFFERS决定。

虚拟段主要支持会话和线索。根据用途的不同,内存池可以进一步分为:

会话池、多线索池、字典池、存储过程池、排序池、大缓冲池以及全局池。

如果客户与服务器利用共享内存进行通讯,消息段将用作通讯缓冲区。每

一用户连接(利用共享内存进行通讯)大致占用12K空间。用户连接的数

量在参数NETTYPE中定义。

用户可以利用ipcs或onstat -g seg 命令来监控共享内存段的状态。

虚拟处理器(Virtual Processors)

oninit

oninit

oninit

oninit

oninit

oninit

oninit

oninit

oninit

oninit

oninit

虚拟处理器类

cpu类: 运行所有用户线索和部分系统线索(所有线索的95%)

AIO类: 运行所有内部线索以执行I/O,日志写除外

PIO类: 运行内部线索写物理日志

LIO类: 运行内部线索写逻辑日志

SHM类: 运行共享内存通讯线索

TLI类: 运行内部TLI网络通讯线索

SOC类: 运行内部Sockets网络通讯线索

MSC类: 运行其它任务线索

ADM类: 运行时钟

OPT类: 负责管理BLOB将传至光盘子系统

ADT类: 运行安全审计线索