简介
为了理解 DB2 9.5 中新的多线程功能,本文首先讨论 DB2 进程模型。整个 DB2 进程模型是由 Base System Utilities(BSUs)控制的。BSU 为实例和数据库分配内存,拦截和处理信号,并处理发送到 DB2 的异常。图 1显示了用于 Linux 和 UNIX 平台的旧的 DB2 进程模型。
图 1. Linux 和 UNIX 上旧的 DB2 进程模型
图 2 显示了 Linux 和 UNIX 上新的进程模型。
图 2. Linux 和 UNIX 上新的 DB2 进程模型
数据库服务器、客户机与应用程序之间的通信由一个框架来处理。这种框架正是所有 DB2 服务器都使用的进程模型。它确保内部使用的数据库文件不会干扰用户或数据库应用程序。
引擎分派单元(engine dispatchable units,EDU)负责执行各种任务,例如处理数据库应用程序请求、读取数据库日志文件以及将日志记录从日志缓冲区刷新到磁盘上的日志文件。通常,DB2 服务器将每个任务作为一个单独的 EDU 进行处理。在 DB2 9.5 之前,大多数这样的 EDU 在 UNIX 和 Linux 环境中是进程,而在 Windows 环境中是线程。而在 9.5 中,DB2 的进程模型得到统一,现在 EDU 在 Linux、 UNIX 和 Windows 环境中都是线程。
下面是这种新的内存模型的一些优点:
这种新的内存模型更加简单,而且更易于配置。请参阅 DB2 Information Center 中的以下内容:
配置内存和内存堆
内存配置简化
时间: 2024-10-02 21:58:58