WEB开发网
开发学院数据库DB2 DB2 Universal Database进程详解 阅读

DB2 Universal Database进程详解

 2007-11-03 14:57:44 来源:WEB开发网   
核心提示:DB2进程的模型代理代理可以认为是一个"工作程序",它执行所有的应用程序需要的数据库操作,DB2 Universal Database进程详解(2),有两种类型的DB2代理:◆ 协调程序代理(db2agent)协调程序代理代表应用程序协调工作,并且使用进程间通讯(interprocess commu

DB2进程的模型

代理

代理可以认为是一个"工作程序",它执行所有的应用程序需要的数据库操作。有两种类型的DB2代理:

◆ 协调程序代理(db2agent)

协调程序代理代表应用程序协调工作,并且使用进程间通讯(interprocess communication,IPC)或者远程通讯协议与其它的代理通讯。所有的客户端应用程序连接请求,无论是本地的或远程的,都会分配一个相应的协调程序代理。

◆ 子代理(db2agntp)

当允许intra_parallel数据库管理器配置参数时,协调程序代理把数据库请求分配给子代理(db2agntp)。这些代理为应用程序执行请求。一旦建立了协调程序代理,它就通过协调执行数据库请求的子代理,代表应用程序处理所有的数据库请求。

当某个代理或者子代理完成了自己的工作时它就变为空闲的。当某个子代理变为空闲时,它的名字从db2agntp变为db2agnta。

例如:

db2agntp是活动的子代理,它正在为协调程序代理执行工作。这些进程只有允许内部分区并行性(intra-partition parallelism)时才存在。

db2agnta是空闲的子代理,它在过去的某个时候被协调程序代理使用。空闲代理位于代理池中。这些代理对于来自代表客户端程序的协调程序代理的请求是可用的。可用的代理数量依赖于数据库管理器的配置参数maxagents和num_poolagents。

本文的后面一部分将讲解其它类型的代理(例如并行回复代理,db2agnsc)。下面是显示DB2进程模型的两个图表。

图1:没有连接集合的DB2进程模型(对于无分区的数据库)

图1中的每个圆圈代表引擎可分配单元(EDU),它是Linux/UNIX平台上的进程,Windows中的线程。

应用程序A(App A)和B(App B)都是运行在DB2服务器上的本地应用程序。当这些应用程序请求一个到数据库的CONNECT时,db2ipccm监听进程建立数据库管理器和应用程序之间的通讯。db2ipccm也使用一个协调程序代理EDU(db2agent)工作,它直接连接客户端应用程序来建立客户端应用程序和代理之间的共享内存通讯。一旦建立了该通讯,本地客户端的应用程序就连接到数据库了。

应用程序C(App C)是一个远程应用程序,它位于DB2服务器外的另一台计算机上。远程客户端通过db2tcpcm监听进程建立TCP/IP通讯。接着该db2tcpcm与db2agent一起工作,它成为应用程序的协调程序代理并把连接传递到这个代理。在这以后,协调程序代理联系远程客户端应用程序并且连接到数据库了。

图2:没有连接集合的DB2进程模型(对于分区数据库)

上一页  1 2 3 4  下一页

Tags:DB Universal Database

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接