概要
Oracle TimesTen In-Memory Database (TimesTen) は、メモリに最適化されたフル機能のリレーショナル・データベースであり、ミッションクリティカルなアプリケーションへの高速な応答時間と高スループットを提供します。TimesTenは、バックエンドのOracle Databaseに対するレコードのシステムまたはキャッシュ・データベースとして使用できます。Oracle Database製品であるTimesTen Cacheは、Oracle Database内のパフォーマンス上重要なサブセットをアプリケーション層でキャッシュして応答時間を向上させることができます。アプリケーションによる読取りまたは書込み操作は、SQLおよびPL/SQLを使用してキャッシュ表に対して行われ、永続化、トランザクション一貫性の維持、Oracle Databaseとのデータ同期は自動的に行われます。(製品データシート)
多くのエンタープライズ・アプリケーションでは、企業データベース内のデータは大部分が履歴データであり、アクセス頻度は高くありません。しかし、これらのデータには即時アクセスを必要とする情報が部分的に含まれています。たとえば、現在アクティブな顧客またはユーザー、未処理の注文、最近のトランザクション、製品カタログなどのデータをメモリにキャッシュすることで、アプリケーションの応答時間を大幅に改善できます。
TimesTen Cacheは、レコードのシステムとしてのTimesTenと同じテクノロジーをベースとしていますが、キャッシュ機能が追加されています。これは、マルチユーザーおよびマルチスレッド・アプリケーション向けに、アプリケーション層にデプロイされます。アプリケーションはキャッシュ・データベースに接続し、JDBC、ODBC、ADO.NET、Oracle Call Interface(OCI)、Pro*C/C++およびOracle PL/SQLプログラミング・インタフェースを介して標準SQLを使用してキャッシュ表にアクセスします。キャッシュ表は、TimesTenデータベース内で通常のリレーショナル表と同様に動作し、永続的でリカバリ可能です。
TimesTen Cacheを使用するアプリケーションでは、以下のようにキャッシュ・オプションを組み合わせて構成することもできます。
- 読取り専用キャッシュ - トランザクションはOracle Databaseで実行され、変更はTimesTenキャッシュ・データベースにリフレッシュされます。
- 読取り-書込み(またはライトスルー)キャッシュ - トランザクションはTimesTenキャッシュ・データベースで実行され、その後Oracle Databaseに伝播されます。
- オンデマンドおよび事前ロード済みキャッシュ - データはオンデマンドでロードまたは事前ロードでき、キャッシュ・グリッド・メンバー間で共有することも、特定のキャッシュ・ノードのみに配置することもできます。
データ同期はOracle Databaseとの間で自動的に実行されます。
- 非同期ライトスルー(AWT)キャッシュではTimesTenの高速性を活用します。そのために、まずキャッシュ・データベースでトランザクションをローカルにコミットし、更新をOracle Databaseに非同期で送信します。非同期ライトスルー・キャッシュ・グループにより、アプリケーションの応答時間が高速化され、トランザクションのスループットが向上します。
- 同期ライトスルー(SWT)キャッシュでは、Oracle Databaseが更新を受け入れられない場合、トランザクションがキャッシュ・データベースからロールバックされます。同期ライトスルーでは、アプリケーションはOracle DatabaseとTimesTenデータベースの両方でコミットが完了するまで待機する必要があります。
- 読取り専用キャッシュでは、Oracle Database内の増分更新が、ユーザー指定の間隔でアプリケーション層のインメモリ・キャッシュ表に非同期にリフレッシュされます。
TimesTen Cacheは、Oracle Databaseサーバーまたはネットワーク接続が失われた後も動作し続けます。キャッシュ・データベースにコミットされたトランザクションは追跡され、永続化されます。Oracle Databaseへの接続が復元されると、それらのトランザクションはOracle Databaseに伝播されます。同様に、データベース間の接続が再確立されると、Oracle Database内のソース表でコミットされたトランザクションが追跡され、TimesTenデータベースにリフレッシュされます。
スタンドアロンのTimesTenデータベースと同様に、TimesTen Cacheには、キャッシュ・データベースの高可用性を実現するトランザクション・レプリケーションのメカニズムが組み込まれています。ほとんどのエンタープライズ・アプリケーションではアプリケーションのダウンタイムを許容できないため、大多数のデプロイメントでは高可用性とロード・バランシングを実現するためにTimesTen Cacheレプリケーションを追加しています。