| Oracle9i Heterogeneous Connectivity管理者ガイド リリース2(9.2) 部品番号B13816-01 |
|
この章では、異機種間環境における運用上の課題について説明します。オラクル社はこの課題を認識し、企業における異機種間環境の運用を容易にするために、同期ソリューションと非同期ソリューションの両方を提供しています。このマニュアルでは、2つの同期ソリューション、Oracle Transparent GatewayとGeneric Connectivityについて説明します。
この章の内容は、次のとおりです。
情報の統合は、多数の組織に影響する課題です。多くの企業は複数の異なるデータベース・システムを運用しています。これらの各システムにはデータが格納されており、それに対して一連のアプリケーションが実行されます。このデータはファイル・システム上では単なるビットやバイトであり、それをビジネス情報に変換できるのはデータベースのみです。すべてのビジネス情報を統合し連結することで、組織はビジネス情報本来の相乗効果を簡単かつ迅速に活用できます。
通常、すべてのデータを1つのデータベース・システムに連結するのは困難です。あるデータベースに対して実行されるアプリケーションの多くには、他のデータベースに対して実行される同等のアプリケーションがない場合があるため、これは大きな課題です。1つに連結されたデータベース・システムへの移行が実現可能になるまでは、様々な異機種間データベース・システムを共存させる必要があります。
このような相互運用性が実現可能になるまでには、複数の問題を克服することになります。 アクセス・インタフェース、データ型、各機能、およびエラー条件の処理方法は、データベース・システムごとに異なる場合があります。あるリレーショナル・データベースから他のリレーショナル・データベースへのアクセスを試みる場合でさえ、大きな相違があります。 この場合のデータベース間の共通機能は、SQLを介したデータ・アクセス、2フェーズ・コミットおよび類似のデータ型などです。
ただし、大きな相違点があります。トランザクションのセマンティクスが異なるように、SQL言語も異なる場合があります。 一部のデータ型は、あるデータベースに存在する一方、他のデータベースには存在しない場合があります。最も重要な相違点が存在するのは、2つのデータベースのデータ・ディクショナリです。ほとんどのデータ・ディクショナリには類似する情報が含まれていますが、情報の構造はそれぞれまったく異なります。この問題を克服するには複数の方法が考えられます。このマニュアルでは、複数のソースからの情報に同期的にアクセスするためのOracleのアプローチについて説明します。
クライアント・プログラムが複数のOracleデータベースにあるデータへのアクセスまたはデータの変更を必要とする場合は、各データベースへの接続をオープンできます。ただし、このアプローチにはいくつか短所があります。特に、次の点が重要です。複数のデータベースからのデータを結合する場合、クライアントには結合ロジックが含まれている必要があります。データ整合性を保証する必要がある場合、クライアントにはトランザクション調整ロジックが含まれている必要があります。
Oracleには分散処理と呼ばれるアプローチも用意されています。このアプローチでは、クライアントは1つのOracleデータベースに接続し、データ結合とトランザクション調整による負荷を接続先データベースにシフトします。クライアント・プログラムの接続先データベースを、ローカル・データベースと呼びます。これ以外のデータベースは、リモート・データベースです。クライアント・プログラムからデータベース・リンクを使用して、任意のリモート・データベースにあるオブジェクトにアクセスできます。Oracle問合せプロセッサは結合を受け持ち、トランザクション・エンジンはトランザクション調整を受け持ちます。
異機種間接続に関するOracleの問題解決アプローチは、前述の使用例でOracle以外のシステムをリモート・ノードの1つとして使用可能にすることです。 クライアントからみると、Oracle以外のリモート・システムはリモートのOracleシステムと同様に機能します。Oracleシステムと同じSQL言語が認識され、同じデータ・ディクショナリ構造を持つようにみえます。この方法でOracle以外のシステムにアクセスするために、異機種間サービスと呼ばれるOracleサーバー・コンポーネントが使用されます。
異機種間サービス・コンポーネントにより実行される処理のほとんどの部分は、エンド・ユーザーに対して完全に透過的です。少数の例外(後述)はありますが、Oracle以外のシステムにも、Oracleシステムの場合と同じ方法でアクセスできます。異機種間サービス・コンポーネントは、OracleからOracle以外のデータベースへのアクセスを実装する基盤として使用されます。
Oracleでは、異機種間環境における情報の共有および統合という課題を解決するために、次の2つの方法が使用されています。どちらの方法もデータベース内に統合されている基盤に基づいているため、データベースの機能をすべて使用できます。
Oracle Transparent Gatewayは、Oracleデータベース・サーバーの異機種間サービス・コンポーネントとともに機能し、その設計対象である特定の、Oracle以外の市販のシステムにアクセスします。たとえば、Sun Solarisプラットフォーム上のSybaseデータベースにアクセスするには、Solaris上でOracle Transparent Gateway for Sybaseを使用します。
Oracle Transparent Gatewayを使用すると、データの位置や格納方法を知らなくても、分散データベース・システム上のあらゆる場所にあるデータにアクセスできます。
Oracleには、汎用コードのみを含む一連のエージェントが用意されています。この一連のエージェントは異機種間サービス・コンポーネントとのインタフェースを持ち、Generic Connectivityを構成します。 これらのエージェントは、顧客が提供するドライバに関連付ける必要があります。 Oracleには、ODBCまたはOLE DBインタフェースを持つOracle以外のデータベースにODBCおよびOLE DBドライバを使用してアクセスできるように、ODBCおよびOLE DB用のGeneric Connectivityエージェントが用意されています。
Generic Connectivityの機能は、Oracle Transparent Gatewayよりも限定的です。
オラクル社は、次に示す非同期の情報統合ソリューションも提供していますが、このマニュアルでは説明しません。ここで簡単に紹介します。
Oracle Streamsを使用すると、単一のデータベース内または複数のデータベース間で、単一のデータ・ストリームまたはキューによりデータ、トランザクションおよびイベントを伝播できます。Oracle Streamsでは、データに対する変更を取得、伝播および適用できるのみでなく、データ構造の変更(DDL)とユーザー定義イベントも処理できます。変更はそのまま取得して適用する方法と、取得、伝播および適用処理の任意の時点で変換する方法があります。
メッセージ・ゲートウェイにより、OracleとOracle以外の他のメッセージ・キューイング間の通信が可能になります。
オラクル社は、OCI、JDBCおよびODBCなど、多数のオープン・インタフェースを提供しており、顧客はサード・パーティ・アプリケーションを使用するか独自のクライアント・アプリケーションを記述して、Oracleデータベースにアクセスできます。
Generic ConnectivityおよびTransparent Gatewayの処理能力の大部分はデータベースに統合されます。これにより効率的な情報統合ソリューションが提供され、Oracleデータベースの処理能力と機能を全面的に活用できます。これには、強力なSQL解析や分散最適化などの機能が含まれます。
以降の各項では、異機種間環境におけるOracleの課題解決アプローチのメリットについて説明します。
Generic ConnectivityとOracle Transparent Gatewayには、Oracle環境からOracle以外のデータベースのデータに透過的にアクセスする機能が用意されています。Oracle以外のデータベース内のオブジェクトについてシノニムを作成して、物理位置を指定せずに参照できます。この透過性により、アプリケーション開発者は異なるOracle以外のシステムのデータにアクセスするためにアプリケーションをカスタマイズする必要がなくなり、開発作業が低減され、アプリケーションの移植性が向上します。
アプリケーションで(アプリケーション側処理への集中を招く可能性のある)システム固有のインタフェースを使用してOracle以外のシステムと相互操作する必要がなく、OracleシステムとOracle以外のシステムの両方に使用可能なOracleインタフェースに基づくアプリケーションを作成できます。
Generic ConnectivityとOracle Transparent Gatewayにより、アプリケーションからOracle以外のデータベースのデータに直接アクセスできます。これにより、大量のデータを異なる場所にアップロードおよびダウンロードする必要がなくなるため、データ複製が減少し、ディスク記憶領域の節約になります。また、大量のデータをアップロードおよびダウンロードする必要がないため、同期化されていないデータや一貫性のないデータに伴うリスクが減少するというメリットもあります。
Oracleデータベース・サーバーは、複数の異なるデータベースに格納されたデータを問い合せるSQL文を受け入れます。異機種間サービス・コンポーネントがインストールされているOracleデータベース・サーバーでは、SQL文が処理されて、他のOracleデータベースには直接、Oracle以外のデータベースにはゲートウェイを介して、該当するSQL文が渡されます。その後、Oracleデータベース・サーバーにより結果が結合されてクライアントに戻されます。これにより、Oracle以外のデータベース・システム、他のデータベース、ローカルのOracleデータおよびリモートのOracleデータにまたがる問合せが可能になります。
Generic ConnectivityとOracle Transparent Gatewayにより、Oracleのデータベースおよびアプリケーション開発ツールの範囲が拡張されます。Oracleには、プロトタイプ、開発およびメンテナンス時間の短縮によりアプリケーション開発とユーザーの生産性を高めるツールが用意されています。
Oracle以外のデータベースに格納されているデータにアクセスするために、新規ツールを開発したり他のツールの使用方法を学習する必要はありません。かわりに、1セットのOracleツールを使用してOracleデータとOracle以外のデータにアクセスできます。これらのツールは、Oracle Netを介してOracleデータベース・サーバーに接続されているリモート・マシン上で実行できます。
Oracleでは、Oracle SQLを使用してOracle以外のシステムに透過的にアクセスできます。ただし、Oracle以外のシステムにアクセスするために、そのシステムのSQLの使用が必要になる場合があります。 その場合は、Oracleに用意されているパススルー機能を使用すると、Oracleの問合せプロセッサを迂回して、リモート・データベースと独自言語で対話できます。
|
|
![]() Copyright © 2001, 2002 Oracle Corporation. All Rights Reserved. |
|