DRDA代表分布式关系数据库架构。
它是一个允许多个数据库系统和应用程序协同工作的协议集。
使用 DRDA 的关系数据库管理产品的任何组合都可以连接起来,形成分布式数据库管理系统。
DRDA 描述了分布式关系数据库的架构。它定义了访问分布式数据的规则,但不提供实际的应用程序编程接口 (API)来执行访问。
它首先在 DB2 2.3 中使用。DRDA 是由 IBM 内部的一个工作组在 1988 年到 1994 年期间设计的。DRDA 的消息、协议和结构组件由分布式数据管理架构定义。
实施 DRDA 的步骤
实现 DRDA 需要以下两个步骤:
- 对于数据建模:在 CA 2E 文件上设置一个标志以指示它是分布式的(请参阅本文中的使用已交付的 DRDA 值部分)。设定的函数或者S(CA 2E)或U(用户)控制所述分布式文件I / O控制函数选项。使用“分布式文件 I/O 控制”字段从“编辑函数选项”中设置此选项。
- 如果您为函数指定了 S (CA 2E) 控制,请在分布式文件配置表中输入文件位置。此条目将文件与应用程序服务器的名称相关联,并且可以选择与它所在的集合名称相关联,从而允许在实现应用程序的每个位置进行不同的配置。
程序的创建(编译)是通过 CRTSQLxxx 的扩展形式(其中 xxx = HLL 语言)。使用 YGENRDB 模型值作为 CRTSQLxxx 命令中的 RDB。
运行 CRTSQLxxx 结果:
- 一个应用程序,驻留在应用请求者身上。
- SQL包,驻留在应用服务器上,包含访问AS数据库的SQL语句。
DRDA 的组成部分
- 应用程序请求者:接受来自应用程序的 SQL 请求并将它们发送到适当的应用程序服务器进行处理。应用程序可以使用此函数访问远程数据。
- 应用服务器:接收来自应用请求者的请求并进行处理。应用服务器对可以处理的请求部分进行操作,并将剩余部分转发到数据库服务器进行进一步处理。
- 数据库服务器:接收来自应用服务器和其他数据库服务器的请求。该服务器还支持分布式请求并将部分请求转发到数据库服务器以完成请求。
支持 DRDA 的数据库
- Apache Derby(Java RDBMS)
- 数据库2
- Informix 动态服务器 v11.10
- 适用于 DRDA 的 Oracle 数据库网关——使 Oracle 数据库能够充当 DRDA 客户端,访问远程非 Oracle 数据库(主要是 DB2)
- Oracle Database Provider for DRDA – 使 Oracle 数据库能够充当 DRDA 服务器,提供对远程客户端(例如使用 DB2/400 DRDA 客户端库的 IBM i 系统)的 Oracle 数据库访问
DRDA 的优势
- 本地/远程透明度。应用程序可以很容易地从本地数据重定向到远程数据。不需要访问和管理远程系统中数据的专门程序。
- 减少数据冗余。数据只需要存储在网络中的一个位置。
- 更好的安全性。通过消除数据的冗余副本,可以更好地将网络中的数据访问限制为授权用户。
- 数据的完整性。并发本地和远程用户的更新不会因为冲突而丢失。
- 信息更及时。网络中多台计算机的用户始终可以访问最新数据。
- 更好的资源管理。可以优化计算机网络的数据存储和处理资源。
DRDA 的缺点
- 复杂
- 成本
- 安全
- 完整性控制难度更大
- 缺乏标准
- 缺乏经验
- 数据库设计更复杂