分散要求 は分散データベース機能の 1 つで、 アプリケーションやユーザーが、 単一のステートメントで 2 つ以上の DBMS またはデータベースを参照する SQL ステートメントを実行依頼することを可能にします。 たとえば、2 つの異なる DB2 (OS/390 版) サブシステムの表の間で結合を行うことができます。
DB2 コネクト バージョン 7 は、 複数のデータベースおよび DBMS 間での分散要求をサポートしています。 たとえば、DB2 表と Oracle 視点との間で UNION 操作を実行することができます。 サポートされている DBMS には、DB2 ファミリーの製品 (DB2 UDB (Windows、UNIX、および OS/2 版)、 DB2 (OS/390 版)、DB2 (AS/400 版) など) と Oracle が含まれます。
分散要求は、データベース・オブジェクトの位置の透過性 を実現するものです。 (表や視点の中の) 情報が移動した場合に、 その情報を要求するアプリケーションには変更を加えることなく、 その情報への参照 (ニックネーム という) を更新できます。 分散要求はまた、すべての DB2 SQL ダイアレクトをサポートしているわけではない、 あるいは特定の最適化機能をサポートしていない DBMS に対する補正 も行います。 そのような DBMS では実行できない操作 (再帰的 SQL など) は、DB2 コネクトの下で実行されます。
分散要求は半自律型の 方式で機能します。 たとえば、Oracle オブジェクトへの参照を含む DB2 照会を、 Oracle アプリケーションが同じサーバーにアクセスしている最中に実行依頼することができます。 また、分散要求は Oracle オブジェクトや他の DBMS オブジェクトへのアクセスを、 独占したり (整合性やロックに関する制約以上に) 制限したりすることはありません。
分散要求機能のインプリメンテーションは、 DB2 コネクト バージョン 7 の単一インスタンス (連合データベース (federated database: 複数のデータベースから構成されるが、 単一のデータベース・イメージを提供するデータベースを意味します) として機能するデータベース) と、 1 つまたは複数のリモート・データ・ソースで構成されています。 連合データベース には、 データ・ソースとその特性を識別するカタログ項目が含まれています。 データ・ソース は DBMS とデータで構成されます。 アプリケーションが連合データベースに接続する方法は、 他の DB2 データベースに接続する方法と同じです。 DB2 コネクトの連合データベースには、 ユーザー・データを管理するためのライセンスは含まれていません。 このデータベースの使用目的は、 データ・ソースに関する情報の格納だけに限定されています。
連合システムをセットアップした後は、 複数のデータ・ソース内の情報に対して、 それが 1 つの大規模なデータベース内にあるかのようにアクセスできます。 ある連合データベースにユーザーやアプリケーションが照会を送ると、 その連合データベースが必要に応じて DB2 ファミリーおよび Oracle のシステムからデータを取り出します。 ユーザーやアプリケーションは照会でニックネームを指定します。 これらのニックネームはデータ・ソースの中にある表や視点への参照となるものです。 エンド・ユーザーの観点からすると、ニックネームは別名のようなものです。
分散要求のパフォーマンスには多くの要因が影響します。 最も重要なのは、データ・ソースとそのオブジェクトに関する正確な最新情報が、 連合データベースのグローバル・カタログに格納されるようにすることです。 この情報は DB2 最適化プログラムによって利用され、 データ・ソースでの評価に使われる操作をプッシュダウンするかどうかを決めるのに影響します。 連合システムのパフォーマンスについて詳しくは、 管理の手引き: パフォーマンス を参照してください。