TDV で作成されたキャッシング オブジェクト
このセクションでは、TDVキャッシングを容易にするために作成されるいくつかの主要なオブジェクトの概要について説明します。キャッシュの設定方法に応じて、次のオブジェクトがTDVまたはユーザーによって作成されます。自動ストレージタイプ選択を使用する場合、オブジェクトの名称はTDVによって設定されます。他のいずれかのオプションを選択した場合は、テーブルに任意の名前を付けることができます。キャッシュデータ、キャッシュ追跡、キャッシュステータスとして識別しやすい名前を使用することをお勧めします。
キャッシュステータス
ステータステーブル(またはファイル)は、キャッシュデータが現在保存されているビューとプロシージャ、それらが最後に更新された日時などを追跡するために使用されます。
キャッシングターゲットとして使用される各Studioデータソースには、独自のステータステーブルが必要です。
キャッシュ追跡
追跡テーブル(またはファイル)は、特定のキャッシュターゲットを使用しているテーブル、ビュー、およびプロシージャを追跡するために使用されます。また、キャッシュターゲット内のどのテーブルが使用されているかを追跡するためにも使用されます。
キャッシングターゲットとして使用される各Studioデータソースには、独自の追跡テーブルが必要です。
キャッシュデータ
キャッシュされたデータを保存するオブジェクトの名前には、「cache」が付加されます。これらは、キャッシュデータを保持するファイルまたはデータベースのテーブルです。リソースは同じデータキャッシュを共有できません。
キャッシュキー列
cachekey カラムは、キャッシュされたデータの特定のスナップショットを一意に識別する方法です。 TDV はこれを使用して、アプリケーションからのクエリ要求に対してキャッシュ内のどのデータを返すかを決定し、キャッシュのバージョン管理、トランザクションの整合性、および古いキャッシュ レコードを消去する準備ができた時期を決定します。より高度なキャッシュ オプションを使用する場合は、カスタム スクリプトでキャッシュ キーを使用して、要求に応じてキャッシュ データをキャッシュ コピーに同期するなどのキャッシュ アクションを実行できます。
ほとんどのキャッシュオプションについて、キャッシュデータテーブルには、一意の整数識別子を含むキャッシュキー列があります。キャッシュステータステーブルは、現在のデータまたはプロシージャの特定のパラメーター入力バリアントに関連付けられているキャッシュキー値を識別します。
キャッシュキーは、キャッシュされた結果セットごとに生成される一意の数値です。ほとんどのキャッシング構成では、TDV Serverによって自動的に生成される唯一のキャッシングテーブル列です。
キャッシュキーはデータのスナップショットごとに一意の整数であるため、インデキシング、更新前および更新後のアクションスクリプトを定義するとき、またはインクリメンタルキャッシングのスクリプトを定義するときに役立ちます。キャッシュキーはデータのフィルタリングによく使用されるため、キャッシュテーブルにインデックスを作成するときは、インデックスの最初のカラムにする必要があります。
複数テーブルキャッシングの場合、キャッシュキー列はターゲットテーブルにはありませんが、キャッシュステータステーブルにはあります。これは、リーダーエレクション、ガベージコレクション、クラスター通信をサポートし、キャッシュステータスの一貫性を保つためです。
キャッシュメタデータテーブルには、いくつかの省略値が含まれています。例:
|
メタデータ値 |
意味 |
説明 |
|
A |
アクティブ |
キャッシュがロードされています。 |
|
I |
進行中 |
キャッシュは現在更新中です。 |
|
F |
失敗 |
なんらかの理由でキャッシュのロードに失敗しました。 |
|
C |
クリア済み |
キャッシュがクリアされました。 |
|
K |
キー |
テーブルのキー行を示すために使用される特別な値。 |