itubie 发表于 2008-08-23 18:06

db2底层组件的简单介绍

operating system services (oss)



component=SQO



很明显,这样的组件主要是复杂和操作系统之间的工作交互。

主要负责:

内存管理

文件的输入和输出 ,就是磁盘访问。

db2相应进程和线程的创建和管理

semaphore信号系统的处理

利用的操作的系统的安全机制而进行的db2的一些认证工作。就是db2的客户端,用户和server之间的认证

主要是利用操作系统的机制来进行的。

把相关错误输出到操作系统的日志的输出。







memory optimizer



component=SQMO



该组件就是对内存的优化系统管理

对内存的重平衡管理,

实现了对pool和heap的区别管理。

是动态内存参数改变的必须条件。









base support utilities



component=SQLE



这个底层组件其实就是db2的底层的引擎。

这个组件控制着db2的进程模型。

在db2启动的时候启动所有相关的进程和线程和其他的相关的EDU。

分配实例和数据库所需要的内存。







common client (cci)



component=SQC



处理通讯协议是drda的通讯的管理。

drda是个ibm的早期的大机的和客户端的通讯协议。

什么是大机?

大机就是os390这样的ibm的早期怪物,mvs.

什么是大机?

就是ibm完全封闭的代码和软件体系。

大机内置了ibm给你准备好了的os,存储,通讯,数据库,中间件,开发工具。

也就是说你选择了大机,你就选择了你成为大机奴隶的道路。

说是稳定,可能也确实稳定,反正我没有维护过和开发过这样的项目。

ibm里面有很多怪物,很多孤僻的协议,比如drda,lu等等的。

这样的组件包含:



c运行时组件

   为odbc,cli,ole优化

   也为预编译来优化。





类型4的java驱动

   纯java运行时环境对于jdbc,jsql.

   类型4的jdbc applet驱动



类型2的java驱动









common client (cci)



component=SQKF



这个是在企业服务器环境中的组件。

主要是为分区间的高速通讯服务的。



他们创立了节点间的通讯通道

这样的通道只是被FCM进程使用。







relational data service (RDS)



component=SQR



这样的组件通常被CCI客户端通过函数唤醒

用来优化和处理sql语句

构造查询访问计划

并将这样的查询访问计划传递给数据管理服务组件

从数据管理服务组件取得相应的数据集

并将这样的数据集返回给CCI客户端组件







data management services (DMS)



component=SQD



这样的组件主要用来处理数据并返回数据的

他们从RDS获得查询访问计划

按照查询访问计划来取得相应的数据集

也会使用索引管理器来处理索引扫描,使用sort list services 来处理排序,文件管理器来处理数据库连接等等。

将相应的数据集返回给RDS







index management (ixm)

component=SQI



这个组件自然是对db2中的所有的索引的管理。包括

   多维集群索引

   在线索引的重组和重建工作







bufferpool services (BPS)

component=SQB



望文生义

这个组件自然是处理所有关于缓冲池的工作。

处理所有在缓冲池中的各常规数据和索引数据,包括临时溢出数据页的处理。

如果要取得的数据页不再bufferpool,那么,这个组件还会去磁盘上将相应的数据取得放在内存中。

另外这个组件还会根据是dms还是sms来使用文件管理器或者raw存储管理器来处理数据页。

通过oss来访问磁盘上面的数据。

使用SQMO来动态改变缓冲池。











data protection services(dps)

component=SQP



DPS这个组件说来还是很重要的。

因为是他正是他提供了一个机制来保证了数据的一致性和准确性。

这样的机制包括:

所有的交易必须被记日志,以便可以恢复或者重演。

被更改的数据记录会被适当的锁住来确保在更改的过程中这样的数据不被覆盖。

机制主要是触发日志和锁两个办法来实现DPS的功能。





其他的:



SQLAC                  c程序的接口

SQLF                     配置接口

SQLA                     应用程序服务

SQLU                      数据库实用工具

SQLE                     base support utilities               

SQLC                      通讯管理

SQLR                     RDS

SQLN                     sql编译器

SQLS                     sort list service

SQLD                     数据管理器

SQLX                     索引管理器

SQLP                     DPS

SQLB                     bps

SQLKD                  缓冲池分布式服务

SQLKT                  表队列服务

SQLKQ                  缓冲池队列服务

SQLKF                  FCM


原文链接:http://www.ituren.org.cn/html/jishusuibi/200807/04-95.html

XQcoming 发表于 2012-07-20 09:40

虽然不懂还是谢谢分享
页: [1]
查看完整版本: db2底层组件的简单介绍