Oracle TimesTen Application-Tier Database Cache(TimesTen Cache)は、パフォーマンスクリティカルなOracleデータベースのサブセットをアプリケーション層でキャッシュし、レスポンス時間を向上させるのに最適なOracle Database製品のオプションです。アプリケーションは、自動永続性、トランザクション一貫性、Oracleデータベースとのデータ同期機能とともに、SQLおよびPL/SQLを使用して、キャッシュ表で読取り/書込み処理を実行します。(製品データ・シート)
多くのエンタープライズ・アプリケーションでは、企業データベースに存在するデータの大半は履歴であり、頻繁にアクセスされることはありません。しかしながら、そのようなデータの中には、瞬時にアクセスできなければならない情報も含まれています。現在アクティブな顧客/ユーザー、未処理の注文、最近の取引、製品カタログなどがその例です。これらのデータをメモリにキャッシュすると、アプリケーションのレスポンス時間を大幅に向上させることができます。
Oracle TimesTen Application-Tier Database Cacheは、Oracle TimesTen In-Memory Database(Oracle TimesTen)を使用して構築されており、マルチユーザーおよびマルチスレッド・アプリケーションのアプリケーション層にデプロイされます。アプリケーションは、標準SQLを使用して、JDBC、ODBC、ADO.NET、Oracle Call Interface(OCI)、Pro*C/C++、Oracle PL/SQLといったプログラミング・インタフェース経由でキャッシュ・データベースに接続し、キャッシュ表にアクセスします。キャッシュ表は、Oracle TimesTenデータベース内にある通常のリレーショナル表と同じように処理されます。また、永続性とリカバリ可能性を備えています。
TimesTen Cacheを使用するアプリケーションは、次のキャッシュ・オプションを組み合わせて構成できます。
Oracle Databaseとのデータ同期は自動的に実行されます。
TimesTen Cacheは、Oracle Databaseサーバーやネットワーク接続が失われた場合でも継続して稼働するように設計されています。キャッシュ・データベースにコミットされたトランザクションは追跡および維持され、Oracle Databaseへの接続が復旧すると、Oracle Databaseに伝搬されます。同様に、Oracle Databaseのソース表でコミットされたトランザクションは追跡され、データベース間の接続が再確立されると、TimesTenデータベースに対してリフレッシュされます。
TimesTen Cacheは、インメモリ・キャッシュ・グリッドを通じて、パフォーマンスと容量で水平方向のスケーラビリティを提供します。インメモリ・キャッシュ・グリッドは、アプリケーションのキャッシュ・データを格納した一連のTimesTen Cacheで構成されています。キャッシュ・データは、グリッド・メンバー間で分散され、アプリケーションに対して、位置の透過性とグリッド・メンバー全体でのトランザクションの一貫性が確保されます。キャッシュ・グリッド・メンバーの追加と削除はオンラインで実行できるため、アプリケ-ションへのサービスが中断されることはありません。
アプリケーションでは、データ・アクセス・パターンとパフォーマンス要件に応じて、特定のデータ・パーティションを一部のグリッド・メンバーに割り当てて局所的な最適化を行うことも、すべてのデータをすべてのグリッド・メンバーで利用できるようにして位置の透過性を確保することもできます。キャッシュ・グリッド・ソフトウェアは、すべてのグリッド・メンバー間でキャッシュ一貫性とトランザクション一貫性を管理します。
スタンドアロンのTimesTenデータベースと同様に、Oracle TimesTen Cacheは、トランザクション・レプリケーションの組込みメカニズムにより、キャッシュ・データベースの高可用性を実現します。ほとんどのエンタープライズ・アプリケーションでは、アプリケーションの停止時間は許容されません。そのため、大多数のデプロイメントでは、高可用性とロードバランシングのためにTimesTen Cacheレプリケーションが追加されます。