• 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 语句中运用非关连型的数据源。




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

  • 相关阅读:
    IDEA 错误:程序包XXX不存在
    202A 202B 202C 202D 202E字符的作用及解释
    MySQL 获取每月多少日的sql写法
    Mybatis Plus使用租户过滤无效解决方案
    Shiro集成多个Realm,认证都不通过返回y configured realms. Please ensure that at least one realm can authenticate these tokens.
    使用IDEA开发SpringBoot不加载application.yml配置文件的解决方案
    集成SpringCloudBus,但没有总线通知更改
    Gradle 使用@Value注册编译报错
    Shiro Session放到Redis中常遇到的问题
    前端页面调试方式的选择
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1972818.html
Copyright © 2020-2023  润新知