Cache Connectでは、TimesTenデータベース内にキャッシュ・グループを作成してOracleデータをキャッシュできます。キャッシュ・グループを作成すると、単一のOracle表または関連する一連のOracle表をキャッシュできます。TimesTenでキャッシュするOracleデータは、Oracle表のすべての行および列、または行および列のサブセットで構成できます。
Cache Connectでは、次の機能をサポートしています。
TimesTenキャッシュ・グループにキャッシュされるOracle表は、実表と呼ばれます。TimesTen Data Managerは、キャッシュ・グループの作成、キャッシュ・グループとOracleデータベース間の更新の伝播など、すべての同期キャッシュ・グループ処理をOracleと対話して行います。キャッシュ・エージェントと呼ばれるTimesTenプロセスは、キャッシュ・グループへのデータのロード、Oracleデータベースからキャッシュ・グループへのデータの手動リフレッシュ、キャッシュのエージング、Oracleデータベースからキャッシュ・グループへのデータの自動リフレッシュなどの非同期キャッシュ処理を実行します。
図8.1に、Cache Connectの機能およびプロセスを示します。
キャッシュ・グループの作成と変更は、SQL文またはブラウザ・ベースのCache Administratorで実行できます。詳細は、『Oracle TimesTen Cache Connect to Oracle開発者および管理者ガイド』を参照してください。
各キャッシュ・グループには、そのキャッシュ・グループの主キーが含まれるルート表があります。ルート表の行は、子表の行と1対多の関係を持つことができます。また、その子表の行は、他の子表の行と1対多の関係を持つことができます。
キャッシュ・インスタンスは、外部キー関係によってキャッシュ・グループのルート表にある特定行と関連付けられた一連の行です。ルート表のそれぞれの主キー値がキャッシュ・インスタンスを指定します。キャッシュ・インスタンスは、キャッシュのロードとキャッシュのエージングの単位になります。キャッシュ・グループでは、そのグループ内に複数の親を持つ子表が存在することはできません。各TimesTenレコードが属しているキャッシュ・インスタンスは1つのみであり、また、同じキャッシュ・グループ内に存在する親は1つのみです。
図8.2に示す例で、特定の顧客ID(CustId)に属する表Customer、Orders、Interestsのすべてのレコードは、外部キー制約を介して互いに関連しているため、同じキャッシュ・インスタンスに属します。CustIdはキャッシュ・インスタンスを一意に識別するため、キャッシュ・インスタンス・キーと呼ばれます。