Comments
Description
Transcript
DB2コネクト Data Management Software 1
DB2コネクト Data Management Software Systems Solution & Web Server Competence Center No.1 & No.4 DM Group 1 2回目 第2話 Data Management Software Systems Solution & Web Server Competence Center No.1 & No.4 DM Group 2 はじめに 前回、遠隔地にあるリレーショナル・データベースをアクセスするために定義された分散リレーショナル・データベース体 系(Distributed Relational Database Architecture:以下DRDAとします)とそのアプリケーション・リクエスターの機能を持つ DB2コネクトをご紹介しました。 今回は、DB2とアプリケーションとの一般的な稼働形態からDRDAが出てきた背景を探ってみたいと思います。また、 DB2コネクトを、ネットワーク負荷削減のために備えている機能を中心にご紹介します。OS/390およびz/OS、OS/400、 VM、VSEの各OS(以下ホストとします)上で稼働するDB2としては、OS/390およびz/OS上のDB2を例に説明します。 Data Management Software Systems Solution & Web Server Competence Center No.1 & No.4 DM Group 3 アプリケーション・インターフェース DRDAアプリケーション・サーバー DB2 for OS/390およびz/OS UDB for UDB for UDB for UDB for UDB for UDB for DB2 通信サポート DDF(分散データベース機能) TCP/IP APPC DB2 DB2コネクト DB2モジュール ランタイム・クライアント CLI UTILITY CICS OS TCP/IP,NETBIOS IPX/SPX,APPC TSO 通信サポート RRSAF データベース CAF データベース AIX WinNT,2000 HP-UX Solaris Linux DYNIX/ptx IMS DB2 DB2 DB2 DB2 DB2 DB2 JDBC 動的 ODBC SQLJ 静的 ADO SQL CLI ODBC JDBC SQLJ 動的 静的 SQL アプリケーション アプリケーション 図4.アプリケーション・インターフェース Data Management Software Systems Solution & Web Server Competence Center No.1 & No.4 DM Group 4 アプリケーション・インターフェース WindowsやOS2、UNIX系のDB2を利用したアプリケーションの場合、一般的にアプリケーションとデータベース管理シス テムは別マシンで稼働する形態をとります。この形態をサポートするために、DB2はデータベース・サーバーとネットワー クを介して接続可能なランタイム・クライアント・モジュールを提供しています。この間は業界標準のDRDAプロトコルでは なく、独自のプライベート・プロトコルを使用してコミュニケーションを行っています。ランタイム・クライアント・モジュール は現在、DRDAプロトコルをサポートしていません。 他方、オンライン・アプリケーション、バッチ・アプリケーション等様々なワークロードを同一システム上で管理・運用する ことを得意とするホスト・システムでは、同一オペレーティング・システム上にアプリケーションとデータベース管理システ ムが共存する環境で十分にその機能を発揮してきました。。そのため、ホストDB2が提供するアプリケーション・インター フェースは同一オペレーティング・システム上のアドレス・スペース(プロセスにあたります)間のインターフェースのみと なっています。つまり、ホスト上のDB2は、データベース・サーバーとネットワークを介したランタイム・クライアント・モ ジュールとの接続をサポートしていません。 それでは、別のオペレーティング・システム上のアプケーションからホスト上のDB2に接続したい場合にはどうすればよ いのでしょうか? このような要求に応えるために規定されたのが、分散リレーショナル・データベース体系です。ホスト上のDB2はDRDA におけるアプリケーション・サーバーならびにリクエスターの機能を有するので、DRDAプロトコルを利用して遠隔地にあ るアプリケーション・リクエスターならびにサーバーとコミュニケーションを図り、データ交換をすることができます。そし て、ホスト以外のDB2では、DB2コネクトがアプリケーション・リクエスターの機能を提供します。 Data Management Software Systems Solution & Web Server Competence Center No.1 & No.4 DM Group 5 DB2コネクトの機能 DB2 for OS/390およびz/OS クライアント アプリケーション インター フェース DDFアドレス・ ストアード・プロシージャー アドレス・スペース スペース DB2コネクト ODBC ストアード・ プロシージャー exec sql connect ... ロジック exec sql call stoproc ... ロジック exec sql commit stoproc ADO exec sql select ... アプリケーション・ ロジック exec sql update ... exec sql insert ... アプリケーション・ ロジック OLE DB DB2 CLI exec sql connect exec sql declare c1 cursor for select * from table1 optimize for 1000 rows exec sql open c1 レコード・ ブロッキング exec ・・・ exec ・・・ exec ・・・ exec exec JDBC SQLJ 埋め込み 型SQL データベース・サービス アドレス・スペース sql fetch c1 32KB 32KB 32KB sql fetch c1 DDF バッファー データベース sql fetch c1 32KB 32KB 32KB sql fetch c1 . sql commit DDF バッファー 図5.DB2コネクトの機能-ネットワーク・オーバーヘッドの軽減- Data Management Software Systems Solution & Web Server Competence Center No.1 & No.4 DM Group 6 DB2コネクトの機能 DB2コネクトは、遠隔地のデータベースに対するアクセス機能を提供するだけではありません。クライアント・アプリケーショ ンが、データベースのプラットフォームを含め物理的にどこに存在するかを意識せずに、透過的なデータアクセスを可能に する環境を提供します。 DB2コネクトとアプリケーション・サーバー間の通信プロトコル SNA APPCとTCP/IPのサポート DB2コネクトとクライアント間の通信プロトコル(3層の場合) TCP/IP、NetBIOS、IPX/SPX、APPCのサポート アプリーション・インターフェース ODBC、ADO、OLE DB、JDBC、SQLJ、DB2 CLI、埋め込みSQL(動的SQLと静的SQL) DRDAを通してDB2へアクセスするクライアント・アプリケーションのためのODBC、JDBCドライバー、OLE DBプロバ イダーはDB2コネクトが提供します。 ローカル・データベースにアクセスする場合と同様にアプリケーションを開発することができます。 DB2コネクトはネットワークを介した遠隔地にあるデータベースにアクセスするので、そのオーバーヘッドを減らすための機 能を提供しています。 ストアード・プロシージャーのサポート サーバー側で実行するSQLやプログラム・ロジックをクライアント・アプリケーションから呼び出すことができます。 レコード・ブロッキング データをまとめて受信することによりネットワーク負荷を軽減します。 ホストDB2がDB2 for OS/390 V6以上、DB2コネクトがV7.2FP5以上の場合には1回の転送で複数ブロックを受信す ることもできます。 コネクション・プーリング クライアントからDB2コネクトへの接続が終了した後もDB2コネクトからホストへの接続をプールに保持しておくことが できるので、接続に要する時間が短縮されます。 複数サイトの同期更新を制御する2フェーズ・コミットをサポートしています。 ホストDB2のパラレル・シスプレックス環境に対応することができます。 ロード・バランシング機能 OS/390のワークロード・マネージャーから得た情報により、ワークロードが分散するよう接続先DB2を変更します。 フォルト・トレランス機能 接続失敗時にデータ共用グループ内の他のDB2へ接続しなおすこともできます。 Data Management Software Systems Solution & Web Server Competence Center No.1 & No.4 DM Group 7 DB2コネクトの機能 また、DB2コネクトはWindowsやOS2、UNIX系DB2の便利なツール群を備えているので、それらをホストDB2に対して適用 することができます。主なツールをご紹介します。 DB2コントロール・センター スナップショット・モニターおよびイベント・モニター ストアード・プロシージャー・ビルダー 最後にセキュリティついて簡単にご紹介します。DB2は認証(ユーザー名、パスワードによるユーザーの識別)と許可(認 証されたユーザーには要求した操作権限があるか)の概念を使用して管理するデータやリソースを保護しています。許可 はDB2の機能で実施しますが、認証はDB2以外の機密保護サービスを利用しています。 DB2コネクトを使用することにより、クライアントの認証をどこで行うかを簡単に指定することができます。図6はホストDB2 にアクセスするために必要な定義です。認証についてもこの中で定義します。この例ではホストDB2側で認証を行うように 指定しています(②赤字部分)。この他にクライアント、DB2コネクトを置くゲートウェイ・サーバー、DCEサーバーで認証を 行うように設定することができます。また、DB2コネクトでもパスワードの暗号化をサポートしています。 ホスト上のDB2にアクセスするための定義内容については次回ご紹介いたします。 ① catalog tcpip node nodename remote 192.168.23.2 server 6000 ② catalog db dbname at node nodename authentication dcs ③ catalog dcs db dbname 私はMOUSE パスワードは CHU クライアント MOUSEさん 確認O.K.です ホスト ホストで認証 してね セキュリティー製品 DB2コネクト DB2 図6.DB2コネクトの機能-認証- Data Management Software Systems Solution & Web Server Competence Center No.1 & No.4 DM Group 8