TDV で作成されたキャッシング オブジェクト

このセクションでは、TDV キャッシングを容易にするために作成されるいくつかの主要なオブジェクトの概要について説明します。キャッシュの設定方法に応じて、次のオブジェクトが TDV またはユーザーによって作成されます。自動ストレージ タイプ選択を使用する場合、オブジェクトの名称は TDV によって設定されます。他のいずれかのオプションを選択した場合は、テーブルに任意の名前を付けることができます。キャッシュ データ、キャッシュ追跡、キャッシュ ステータスとして識別しやすい名前を使用することをお勧めします。

キャッシュ ステータス

ステータス テーブル (またはファイル) は、キャッシュ データが現在保存されているビューとプロシージャ、それらが最後に更新された日時などを追跡するために使用されます。

キャッシング ターゲットとして使用される各 Studio データ ソースには、独自のステータス テーブルが必要です。

キャッシュ追跡

追跡テーブル (またはファイル) は、特定のキャッシュ ターゲットを使用しているテーブル、ビュー、およびプロシージャを追跡するために使用されます。また、キャッシュ ターゲット内のどのテーブルが使用されているかを追跡するためにも使用されます。

キャッシング ターゲットとして使用される各 Studio データ ソースには、独自の追跡テーブルが必要です。

キャッシュ データ

キャッシュされたデータを保存するオブジェクトの名前には、「cache」が付加されます。これらは、キャッシュ データを保持するファイルまたはデータベースのテーブルです。リソースは同じデータ キャッシュを共有できません。

cachekey カラム

cachekey カラムは、キャッシュされたデータの特定のスナップショットを一意に識別する方法です。TDV はこれを使用して、アプリケーションからのクエリ要求に対してキャッシュ内のどのデータを返すかを決定し、キャッシュのバージョン管理、トランザクションの整合性、および古いキャッシュ レコードを消去する準備ができた時期を決定します。より高度なキャッシュ オプションを使用する場合は、カスタム スクリプトでキャッシュ キーを使用して、要求に応じてキャッシュ データをキャッシュ コピーに同期するなどのキャッシュ アクションを実行できます。

ほとんどのキャッシュ オプションについて、キャッシュ データ テーブルには、一意の整数識別子を含む cachekey カラムがあります。キャッシュ ステータス テーブルは、現在のデータまたはプロシージャの特定のパラメーター入力バリアントに関連付けられている cachekey 値を識別します。

cachekey は、キャッシュされた結果セットごとに生成される一意の数値です。ほとんどのキャッシング構成では、TDV Server によって自動的に生成される唯一のキャッシング テーブル カラムです。

cachekey はデータのスナップショットごとに一意の整数であるため、インデキシング、更新前および更新後のアクション スクリプトを定義するとき、またはインクリメンタル キャッシングのスクリプトを定義するときに役立ちます。cachekey はデータのフィルタリングによく使用されるため、キャッシュ テーブルにインデックスを作成するときは、インデックスの最初のカラムにする必要があります。

複数テーブル キャッシングの場合、cachekey カラムはターゲット テーブルにはありませんが、キャッシュ ステータス テーブルにはあります。これは、リーダーエレクション、ガベージ コレクション、クラスター通信をサポートし、キャッシュ ステータスの一貫性を保つためです。

キャッシュメタデータ テーブルには、いくつかの省略値が含まれています。たとえば次のとおりです。

メタデータ値

意味

説明

A

アクティブ

キャッシュがロードされています。

I

進行中

キャッシュは現在更新中です。

F

失敗

なんらかの理由でキャッシュのロードに失敗しました。

C

クリア済み

キャッシュがクリアされました。

K

キー

テーブルのキー行を示すために使用される特別な値。