您现在的位置: 北极圈下载站 >> 数据库开发 >> DB2 >> 正文
深入了解DB2的Universal Database进程

作者:北极圈 文章来源:本站整理 点击数: 更新时间:2008-6-19 12:20:08


DB2进程的模型

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

  ◆ 协调程序代理(db2agent)

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

  ◆ 子代理(db2agntp)

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

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

  例如:

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

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

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

深入了解DB2 Universal Database进程(1)

图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一起工作,它成为应用程序的协调程序代理并把连接传递到这个代理。在这以后,协调程序代理联系远程客户端应用程序并且连接到数据库了。

深入了解DB2 Universal Database进程(1)

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

 
图2与图1相似,但可用于分区的数据库。Node0000和Node0001代表两个不同的计算机,数据库的分区分别在它们上面。该进程与它们之间的交互作用与图1中的相同,但是有一些进程只能用于这样的环境。例如db2fcmd即快速通讯管理器(Fast Communication Manager)进程,它用于管理不同分区之间的通讯。下一部分的表格更仔细地说明了其它用于分区数据库的进程。

 

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 下一页

文章录入:admin    责任编辑:admin 
  • 上一个文章:

  • 下一个文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    站内文章搜索

    推 荐 文 章

    热 门 文 章

    推 荐 软 件