DB2 9 运用拓荒(733 测验)认证指南,第 8 部门: 初级编程(6)

用户定义的数据模范榜样、并发性思量因素等等
developerWorks








散布式任务单元和联邦数据库环境

什么是散布式任务单元?

远程任务单元 (remote unit of work,RUOW)批准用户或次序为任务单元更新或读取在远程地位上的数据。在一个任务单元里只能会面一个数据库。RUOW 的特点是:

  • 每个任务单元支持多个请求(SQL 语句)。
  • 每个任务单元支持多个游标。
  • 每个任务单元只能会面一个数据库。
  • 运用次序要么提交任务单元,要么回滚任务单元。在某些错误景象下,数据库服务器也许回滚任务单元。

散布式任务单元 (distributed unit of work,DUOW)也称为多站点更新(multi-site update),它在一个任务单元里运用多个数据库。DUOW 的特点是:

  • 每个任务单元更新多个数据库。
  • 运用次序节制任务的散布,并倡始提交。
  • 每个任务单元也许有多个请求。
  • 在多个数据库服务器之间和谐提交。





回页首



若何运用 DUOW?

散布式任务单元在盘问和运用次序中供应了良多也许性。起首,可以盘问多个数据库,而不限于一个数据库。理论上,不光可以会面 DB2 数据库。颠末 Websphere Federated Server 运用联邦环境,可以用单一盘问同时会面和更新 DB2、Informix 和 Oracle 表。

联邦环境包罗对一个或多个远程数据源及其特性的引用。“昵称(nickname)” 是数据对象在联邦细碎中的本地别号。这个昵称用来引用特定数据源中的对象。

我们来看一个示例,它将在 Websphere Federated Server 中树立和运用一个昵称。起首,需求树立一个称为 FARAWAYTABLE 的昵称,它引用的对象驻留在称为 ORA 的 Oracle 数据源中。这个数据源包罗对象 USER1.DATATABLE1。一旦树立了昵称,就可以将它作为常规的(本地)数据库表来对待。应该留意,在实验上面代码清单中的 CREATE NICKNAME 语句之前,必需实验良多其他语句(这里未表现)来设置联邦环境;这些语句定义联邦环境中数据源的称呼和地位、安静设置和其他设备参数。

CREATE NICKNAME farAwayTable FOR ora.user1.datatable1
SELECT * FROM ora.user1.datatable1 
{this will fail since you have to refer to the table by its nickname}
SELECT * FROM farAwayTable
{this will return the results from the table}
SELECT *
FROM farawaytable, dept
WHERE dept.id = farawayTable.id
{this joins the two tables together and returns the result set}
INSERT INTO farawayTable
 VALUES (SELECT * from dept)
{this inserts all the data from the dept table into the farAwayTable}


盘问不必晓得它所引用的对象是本地数据库的一部门,照样完全属于另一个数据服务器。纵然移动了底层对象,也不必修正运用次序。这称作地位通明性(location transparency)。

图 4 申清楚明白用于联邦的潜在的源和目的。

图 4. 联邦数据源
联邦数据源

联邦还可以用于会面非关连型的数据源,比如文本或 XML 文件。为此,必需树立一个 “包装器(wrapper)”,用来声明若何在其中的数据源上实验 SELECTUPDATEDELETEINSERT 语句。一旦树立了包装器,就可以将该数据源看成本地表来对待。科学社区已发现该手艺对付处置惩罚立体文件中的 DNA 信息极端有效。





回页首



运用 DUOW

运用 DUOW 有良多利益:

  • 可以轻松地会面多个数据源。
  • 极大地减小了运用次序严格性。
  • 向运用次序供应对多个 RDBMS 的读/写才调。

同时也有一些缺陷:

  • 需求维护多个数据库。
  • 由于要与多个细碎截止交互,所以错误处置惩罚愈加严格。
  • 远程细碎也许挂起,招致 SQL 要花很永劫间来响应。
  • 大量数据的搜集传输时间也许减慢盘问的速率。
  • 由于耽搁而惹起的远程和本地细碎的锁定并发性效果也许招致效果。

DUOW 和联邦经常用于金融和制药局限,从而在一个复杂的次序中和谐多个数据源。颠末运用 DUOW,可以编写一个 SQL 语句来前去并聚合来自多个源的数据。别的,倘使修正了底层的数据源,就只需厘革其昵称,而不必修正整个数据会面运用次序。

以下是一些妥当运用 DUOW 的特定局限:

  • 组合来自多个数据库的报表。
  • 组合来自多个 RDBMS 的数据。
  • 将数据从一个 RDBMS 移动到另一个 RDBMS。
  • 在 SQL 语句中运用非关连型的数据源。




版权声明: 原创作品,批准转载,转载时请务必以超链接情势标明文章 原始理由 、作者信息和本声明。不然将追查法律责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1972818.html