ユーザーガイド > TDVキャッシング > キャッシングの設定 > データベースターゲットでの複数テーブルキャッシュの作成
 
データベースターゲットでの複数テーブルキャッシュの作成
複数テーブルキャッシュオプションが有効になっている場合、TDVはユーザーが指定した数のテーブルにビューまたはテーブルのキャッシュデータを保存します。キャッシュされたデータを異なるテーブルに保存できるため、次のことが可能になります。
キャッシュされたデータに対するより効果的なインデックスを作成する
その他のキャッシングモードよりも高速にキャッシュから古いデータをクリアする
複数テーブルキャッシュオプションの主な対象は、長期間保持される大量のデータを含むキャッシュです。
複数テーブル機能は、複数のキャッシュを更新できるように設計されています。更新のたびに1つのテーブルに行が作成されます。複数のテーブルが開いているため、キャッシングのパフォーマンスが向上します。レコードは複数のテーブルに分散されません。キャッシュの更新に複数のテーブルを使用すると、顧客がいずれかのキャッシュテーブルにアクセスしたときに更新アクションの速度が低下しません。その他のいずれかのキャッシュテーブルを更新に使用できるためです。
リソースが、最初にTDVサーバーに追加されたデータソースを、パススルーモードでパスワードを保存せずに使用する場合、行ベースのセキュリティがキャッシュ更新機能に影響を与える可能性があります。パスワードの保存とパススルーログインの詳細については、「データソースの追加」を参照してください。
複数テーブルキャッシュ機能を使用するには、次のセクションの手順に従ってください。
Teradataを複数テーブルキャッシュターゲットとして使用するための構成
複数のテーブルへのキャッシュの有効化
Teradataを複数テーブルキャッシュターゲットとして使用するための構成
Teradataの場合、TDV複数テーブルオプションでは、Teradataの一括ロード機能であるFastLoad FastExportを利用できます。TeradataデータソースでFastLoad FastExport機能を設定する方法とセッション数の構成については、Teradataのドキュメントを参照してください。その後、Studioを使用して、FastLoad FastExport機能の構成を完了できます。
注意: Teradataをキャッシュターゲットとして使用しない場合は、スキップして「複数のテーブルへのキャッシングの有効化」に進むことができます。
Teradataを複数テーブルキャッシュターゲットとして構成するには
1.Studioを開きます。
2.[Administration(管理)] > [Configuration(構成)]を選択します。
3.[Enable Native Loading(ネイティブロードを有効にする)]を探し、このオプションがTrueに設定されていることを確認します。
4.Studioのリソースツリーでデータソース名を右クリックし、[Open(開く)]を選択します。
5.[Configuration(構成)]タブを選択し、[Connection Information (接続情報)]で[Advanced(詳細)]タブを選択します。
6.[Advanced(詳細)]タブを使用して、次のフィールドの値を設定します。
フィールド
説明
[Enable FastLoad/FastExport for large tables(大きなテーブルに対してFastLoad/FastExportを有効にする)]
Trueに設定すると、TeradataのFastLoadまたはFastExportユーティリティによってクエリー時間が短縮されます。FastpathまたはJDBCのデフォルトのロードを使用するかどうかを決定するためにクエリーのカーディナリティが使用されます。
[FastExport Session Count(FastExportセッション数)]
Teradataに使用するFastExportセッションの数。
[FastLoad Session Count(FastLoadセッション数)]
Teradataに使用するFastLoadセッションの数。
7.設定を保存します。
複数のテーブルへのキャッシュの有効化
複数テーブルキャッシュをクリアする場合、TDVは最初にTRUNCATEコマンドを使用してキャッシュをクリアしようとします。TRUNCATEコマンドがサポートされていない場合は、DELETEコマンドが試行されます。
データを複数のテーブルに保存するキャッシングを有効にするには
1.Studioで、ビューまたはテーブルを開きます。
2.[Caching(キャッシュ作成)]タブを選択します。
3.[Create Cache(キャッシュの作成)]をクリックします。
4.[Status(ステータス)]で、[Enable(有効にする)]チェックボックスをオンにします。オフのままにした場合は、引き続きキャッシュを定義できますが、[Enable(有効にする)]チェックボックスをオンにするまでキャッシュはアクティブになりません。
キャッシュが無効になっている場合、既存のキャッシュ設定はすべて無視されます。ビューは、キャッシュが存在しないかのように使用されます。有効状態と無効状態を切り替えても、データが更新されたり、データの有効期限がリセットされたりすることはありません。
5.[Storage(ストレージ)]で、ストレージタイプを[Multi-table(複数テーブル)]として指定します。複数テーブルは、キャッシュテーブルのしきい値に達するまで、キャッシュが更新されるたびにテーブルを1つずつ作成するデータキャッシュオプションです。
このオプションでは、キャッシュテーブルを保持するデータベースデータソースを指定する必要があります。また、そのデータソースに対してキャッシュオブジェクトを作成および削除するための十分な権限を持っている必要もあります。
注意: リソースは同じデータキャッシュテーブルを共有できません。
6.データベースからオブジェクトを作成および削除する権限があるデータベースデータソースを特定します。
注意: ファイルデータソースは、複数テーブルキャッシングの有効なターゲットではありません。
7.[Browse(参照)]を使用して、キャッシュテーブルを作成するデータソースを見つけて指定します。データソースを選択すると、そのフルパスが[Data Source(データソース)]フィールドに表示されます。
8.[Open Data Source(データソースを開く)]をクリックします。[Configuration(構成)]タブの[Caching(キャッシュ作成)]セクションで、2つのテーブルを作成(DDLを実行)するか、名前変更するか、または参照します。1つはキャッシュステータスデータを保存するためのもの(ステータステーブル)で、もう1つはキャッシュ追跡データを保存するためのもの(追跡テーブル)です。
9.データソースパネルを保存します。
10.[Caching(キャッシュ作成)]タブを開いた状態でビューまたはプロシージャに戻ります。
11.[Multi-table(複数テーブル)]セクションで、次の表に示す選択肢から選択します。
 
フィールド
説明
[Create Tables Automatically(テーブルの自動作成)]
必要なキャッシュオブジェクトのテーブルプレフィックス、バケット数、およびインデックス作成を指定するための選択肢があります。
[Choose Tables for Caching(キャッシング用のテーブルを選択)]
事前定義済みのキャッシュテーブルを選択できます。事前定義済みのキャッシュテーブルは、キャッシュテーブルのメタデータ要件に準拠している必要があります。データの整合性を保つため、キャッシュされる各リソースには独自のキャッシュデータテーブルが必要です。
12.[Create Tables Automatically(テーブルの自動作成)]を選択した場合は、次の表に示すフィールドで選択を行う必要があります。
 
フィールド
説明
[Table Catalog(テーブルカタログ)] (オプション)
データソースの定義方法とイントロスペクト方法によっては、Studioリソースツリーのデータソースの下に1つまたは2つのレベルのフォルダーがある場合があります。テーブルカタログは、データソースの下の最初のレベルのフォルダーを参照します。データソースにサブフォルダーが含まれている場合は、ここに最初のレベルの名前を入力します。この名前では大文字と小文字が区別されます。
[Table Schema(テーブルスキーマ)] (オプション)
テーブルスキーマは、データソースの下の2番目のレベルのフォルダーを参照します。データソースにサブフォルダーが含まれている場合は、ここに2番目のレベルの名前を入力します。この名前では大文字と小文字が区別されます。
[Table Prefix(テーブルプレフィックス)]
作成するキャッシュテーブルとインデックスに追加するプレフィックス。一意のプレフィックスが必要です。
[Number of Caching Tables(キャッシュテーブルの数)]
保持するキャッシュのスナップショットの数を指定します。値3から始めて、特定のキャッシングニーズに対応するためにその数を増やす必要があるかどうかを判断します。
必要なキャッシュテーブルの数は、データがキャッシュされる頻度、キャッシュされるデータの量、更新が発生する頻度、およびこのキャッシュにアクセスするトランザクションのうち最も長く実行されるトランザクションによって異なります。たとえば、最も長く実行されるトランザクションが4時間で、更新が1時間ごとに行われる場合、少なくとも4つのキャッシュテーブルを定義する必要があります。キャッシュが2時間ごとに更新されるものの、一部のトランザクションが6時間実行される場合は、少なくとも4つのキャッシュテーブルを構成します。
キャッシュステータステーブルの各行には、スナップショットを含むキャッシュテーブルの名前があります。
キャッシュテーブルは、それを使用するアクティブなトランザクションがある限り、ガベージコレクションの対象にはなりません。
TDVはキャッシュテーブルの共有を検出しようとしますが、各キャッシュテーブルが1つのリソースのみによって使用されるようにするのはユーザーの責任です。
[Create Cache Tables(キャッシュテーブルの作成)]
DDLを実行して、キャッシングに必要なテーブルを作成します。
[Drop indexes before load and create indexes after load(ロード前にインデックスを削除し、ロード後にインデックスを作成)]
オンにすると、ビューの[Indexes(インデックス)]タブに表示されているすべてのインデックスが生成されるDDLの一部になり、作成されます。このチェックボックスをオンにすると、データのロード前にインデックスが削除され、ロード後に再作成されます。これにより、ロード時間が短縮されます。
13.キャッシュのロード後にインデックスを削除して作成する複数テーブルキャッシュオプションが必要な場合は、[Indexes(インデックス)]タブを選択し、ビューまたはテーブルのインデックスを確認または定義します。タブを使用してインデックスを作成する方法については、「[Indexes(インデックス)]パネルでのビューまたはテーブルの主キーの定義」を参照してください。
14.[Choose Tables For Caching(キャッシング用のテーブルの選択)]を選択した場合は、次のフィールドで選択を行う必要があります。
 
フィールド
説明
[Add Table(テーブルの追加)]
キャッシュストレージ用のテーブルを追加する場合に使用します。
[Table Name(テーブル名)]
複数テーブルキャッシュ用のテーブルを参照して選択するか、作成します。リソースツリーのパスを入力することもできます。
このテーブルに他のキャッシュデータを保存しないでください。
15.キャッシュの設定を保存します。キャッシュ設定を保存すると、Studioリソースツリーにキャッシュされた各リソースが稲妻アイコンとともに表示されます。これはリソースがキャッシュされていることを示しています。
16.オプションで、キャッシュの更新前後にアクションを実行する場合は、「完全更新モードキャッシュの事前アクションと事後アクションの定義」を参照してください。
17.オプションで、ファイルベースのデータキャッシュにプルベースのインクリメンタルキャッシングを定義する場合は、「プルベースのインクリメンタルキャッシュの設定」を参照してください。
18.ビューとデータストレージタイプの間にデータ型の非互換性がある場合は、『TDV Reference Guide(TDVリファレンスガイド)』の「Cache Data Type Mapping(キャッシュデータ型のマッピング)」を参照してください。