TimesTen接続オプション
TimesTenでは、ユーザーが自身のアプリケーションでのパフォーマンスと機能性とのバランスを最適にできるように、直接接続オプション、ドライバ・マネージャ接続オプションおよびクライアント/サーバー接続オプションがサポートされています。
アプリケーションから見ると、直接接続、ドライバ・マネージャ接続またはクライアント/サーバー接続かにかかわらず、TimesTen APIは同じです。
アプリケーションは、次のいずれかの方法でTimesTenデータベースに接続できます。
TimesTen Classicデータベースへの接続の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenデータベースの管理、TimesTenクライアントおよびサーバーの使用およびODBCドライバおよびJDBCドライバを使用したTimesTenへの接続を参照してください。
TimesTen Scaleoutの使用によるグリッドへの接続の詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータベース接続およびデータベースへの接続を参照してください。
直接接続
直接接続を使用するアプリケーションは、データベースと同じシステム上で実行されます。直接接続では、ODBCドライバによって、TimesTenデータベースの共有メモリー領域がアプリケーションのプロセス・アドレス領域にアタッチされます。
アプリケーションは、ダイレクト・ドライバを使用して、データベースのメモリー・イメージにアクセスします。どのような種類のプロセス間通信(IPC)も必要ないため、直接接続は非常に高速なパフォーマンスを実現し、TimesTenデータベースにアクセスするアプリケーションにとって適した接続方法です。
直接接続を使用するアプリケーションは、データベースを提供するTimesTenインスタンスの環境で実行する必要があります。TimesTen Scaleoutを使用する場合、アプリケーションは任意のデータ・インスタンスで実行できます。
ODBCダイレクト・ドライバは、ODBCおよびTimesTenルーチンのライブラリであり、データベース管理に使用されるデータベース・エンジンを実装します。他のAPIを使用するアプリケーションでは適切なAPIライブラリが使用され、続いてTimesTen ODBCドライバが使用されます。
クライアント/サーバー接続
TimesTen ClientドライバおよびTimesTen Serverデーモン・プロセスは、ネットワーク上のリモート・クライアント・マシンからデータベースへの接続を調整します。
-
クライアント・マシン上のアプリケーションは、ODBCコール、JDBCコールまたはOCIコールを発行します。これらのコールは、TimesTenインスタンスと通信するローカルODBCクライアント・ドライバにアクセスします。次に、TimesTenインスタンスがODBCダイレクト・ドライバにODBC固有のリクエストを発行して、TimesTenデータベースにアクセスします。
-
TimesTenサーバー・デーモンは、リモート・クライアント・アプリケーションからの受信接続を管理します。その動作はローカル・アプリケーション用のTimesTenデーモンとほぼ同じですが、これは、クライアントのかわりにデータベースにアクセスするためにサーバー子プロセスを割り当てます。
従来のクライアント/サーバー・アクセスは、レポートなどの機能に対してサポートされています。または、多数のアプリケーション層プラットフォームで共通のインメモリー・データベースへのアクセスを共有する必要がある場合にサポートされます。
クライアントとサーバー間のすべての送受信は、TCP/IP接続で行われます。クライアントとサーバーが内部ネットワーク上の個別のホストに存在する場合、これらはソケットとTCP/IPを使用して通信します。クライアントとサーバーの両方が同一マシン上に存在する場合は、直接接続を使用して、より効率的に通信できます。
-
クライアント・アプリケーションは、データベースを提供するTimesTenインスタンスと通信します。
-
TimesTen Scaleoutを使用すると、クライアント/サーバー接続を使用しているアプリケーションは、データ・インスタンス上、または外部ネットワークへのアクセスを持つ任意のホスト上で実行できます。クライアント・アプリケーションは自動的に実行中のデータ・インスタンスに接続されます。『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のデータベース接続を参照してください。
『Oracle TimesTen In-Memory Database C開発者ガイド』のODBCでのTimesTenデータベースの使用、および『Oracle TimesTen In-Memory Database Java開発者ガイド』のJDBCでのTimesTenデータベースの使用を参照してください。
ドライバ・マネージャ接続
アプリケーションは、ODBCドライバ・マネージャを介してTimesTenデータベースに接続できます。単一のアプリケーションで、1つのドライバ・マネージャを使用して複数の異なるドライバにリンクできます。
ドライバ・マネージャにより、アプリケーションが、データベースと関係なく動作するようになり、直接的にはTimesTenでサポートされていないインタフェースを使用できるようになります。アプリケーションでは、1つのデータベースに対して直接接続とクライアント・サーバー接続を両方同時に使用する必要がある場合に、ODBCドライバ・マネージャが使用されます。
-
TimesTenドライバ・マネージャ(TimesTenの一部として提供される)では、TimesTenドライバ用の透過的で低オーバーヘッドのオプションが提供されます。TimesTenドライバ・マネージャにより、複数のODBCアプリケーションが、1つのTimesTenデータベースに対する、同じプロセスからの直接接続およびクライアント・サーバー接続を使用できるようになります。TimesTenドライバ・マネージャでは、XLA、ルーティングAPI、TimesTenユーティリティAPIおよびTimesTen ODBC拡張がサポートされています。『Oracle TimesTen In-Memory Database C開発者ガイド』のTimesTenドライバ・マネージャの概要を参照してください。
-
汎用のODBCドライバ・マネージャでは、様々なODBCバージョン用に作成されたODBCアプリケーションに対するサポート、またはODBCインタフェースを使用する複数のRDBMS製品に対するサポートが提供されます。Windowsでは、標準のODBCドライバ・マネージャが提供されます。LinuxまたはUNIXの場合は、オープン・ソースまたは商用のドライバ・マネージャを選択できます。
なお、ODBCドライバ・マネージャを使用する場合は、パフォーマンスに関して考慮事項があります。TimesTenドライバ・マネージャを使用する場合は、パフォーマンスに関する考慮事項が最小限になります。
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のODBCドライバおよびJDBCドライバを使用したTimesTenへの接続を参照してください。