Query Cache

Query Cache は、1 つ以上のデータフロー フィールドに基づいてキャッシュ内のデータを検索し、キャッシュ内のマッチング レコードからデータを返して、キャッシュ レコードのデータをデータフロー内のレコードに追加します。キャッシュ内のデータを検索することにより、データベース内のデータを検索する場合よりパフォーマンスが向上します。

キャッシュには、グローバル キャッシュとローカル キャッシュの 2 種類があります。

グローバル キャッシュのオプション

グローバル キャッシュは、メモリ内に存在するシステム全体の共有キャッシュです。キャッシュを複数のデータフローで使用できるようにする場合や、データが頻繁には変化せず比較的静的な状態の、およびストレージが制限されていない場合は、グローバル キャッシュを選択します。グローバル キャッシュは、書き込みが一度しかできないので静的です。このキャッシュは、いったん作成されると更新ができません。

グローバル キャッシュは、Write to Cache ステージによって作成されます。グローバル キャッシュを使用する前に、検索するデータをキャッシュに設定する必要があります。そのためには、Write to Cache ステージを含むデータフローを作成します。

オプション名

説明

キャッシュ タイプ

グローバル キャッシュ オプションを選択します。

キャッシュ名

クエリの実行対象とするキャッシュを指定します。

キャッシュを作成するには、Write to Cache ステージを使用します。

キャッシュ フィールド

この列には、キャッシュ内のフィールドのリストが表示されます。これらのフィールド名は変更できません。

ステージ フィールド

この列には、データフローで使用されるフィールド名のリストが表示されます。フィールド名を変更する場合は、そのフィールド名をクリックして新しい名前を入力します。

Type

この列には、各データフロー フィールドのデータ タイプのリストが表示されます。

含める

クエリによってキャッシュ フィールドの値を返すには、この列内のボックスにチェックを入れます。クエリによってキャッシュ フィールドを返さない場合は、ボックスをクリアします。

デフォルト エラー値

クエリでエラーが発生した場合にデータフロー フィールドに表示する値を指定します。ドロップダウン リストに、クエリ対象のフィールドのデータ タイプに応じた有効な値が表示されます。例えば、integer の場合、オプションとして -1 が表示されます。

このフィールドに値を入力することもできます。さまざまなデータ タイプに対する有効なデフォルト エラー値の一覧については、以下の表を参照してください。
データ タイプ 有効なデフォルト エラー値とデータ タイプ (カッコ内)
  Null

-1

(整数)

1899-

12-30

12:00:00

(日付/時刻)

1899-

12-30

(日付)

12:00:00

(時刻)

False
Date (日付)              
Integer            
経度            
Float            

Big

小数度

           
二重線            
文字列
時間            
Date Time            
Boolean            

キー フィールド

検索キーとして使用される、キャッシュ内のフィールドを指定します。[入力フィールド] 列にあるフィールドの値がキャッシュ内のキー フィールドの値と一致している場合、クエリはキャッシュ内のそのレコードからデータを返します。

入力フィールド

値がキーとして使用されるデータフロー フィールドを指定します。このフィールドの値がキャッシュ内のキー フィールドの値と一致している場合、クエリはキャッシュ内のそのレコードからデータを返します。

ローカル キャッシュのオプション

ローカル キャッシュは、Query Cache ステージの実行時にのみ使用される一時的なキャッシュです。Query Cache は、選択されたデータベース テーブルからキャッシュを構築します。そして、キー フィールドと検索条件に基づいてキャッシュ内のデータを検索し、キャッシュ内で一致したレコードからデータを返して、そのキャッシュ レコードのデータをデータフロー内のレコードに追加します。
ローカル キャッシュは、Query Cache のジョブ実行時に作成されるので、動的です。Query Cache がデータの読み込みを完了すると、このキャッシュは自動的にメモリから削除されます。ローカル キャッシュは、Query Cache ステージが実行されるたびに作り直されます。1 つのデータフローでのみ使用される場合や、検索テーブルが頻繁に変化する場合は、ローカル キャッシュを選択します。
オプション名 説明
キャッシュ タイプ ローカル キャッシュ オプションを指定します。

接続

使用するデータベース接続を選択します。使用できるデータベース接続は、Management Console の Connection Manager に定義されている接続によって異なります。新しいデータベース接続を作成、あるいは既存のデータベース接続を変更または削除する必要がある場合は、[管理] をクリックします。

データベース接続を追加または変更する場合は、次のフィールドに必要な値を指定します。
接続名
接続の名前を入力します。任意の名前にすることができます。
データベース ドライバ
適切なデータベース タイプを選択します。
接続オプション
データベースへの接続に使用するホスト、ポート、インスタンス、ユーザ名、およびパスワードを指定します。
テーブル/ビュー クエリの実行対象とするデータベース内のテーブルまたはビューを指定します。
データベース フィールド この列には、データベース内のフィールドのリストが表示されます。これらのフィールド名は変更できません。
ステージ フィールド この列には、データフローで使用されるフィールド名のリストが表示されます。フィールド名を変更する場合は、そのフィールド名をクリックして新しい名前を入力します。

Type

この列には、各データフロー フィールドのデータ タイプのリストが表示されます。

含める

クエリによってキャッシュ フィールドの値を返すには、この列内のボックスにチェックを入れます。クエリによってキャッシュ フィールドを返さない場合は、ボックスをクリアします。

デフォルト エラー値

クエリでエラーが発生した場合にデータフロー フィールドに表示する値を指定します。ドロップダウン リストに、クエリ対象のフィールドのデータ タイプに応じた有効な値が表示されます。例えば、integer の場合、オプションとして -1 が表示されます。

このフィールドに値を入力することもできます。さまざまなデータ タイプに対する有効なデフォルト エラー値の一覧については、以下の表を参照してください。
データ タイプ 有効なデフォルト エラー値とデータ タイプ (カッコ内)
  Null

-1

(整数)

1899-

12-30

12:00:00

(日付/時刻)

1899-

12-30

(日付)

12:00:00

(時刻)

False
Date (日付)              
Integer            
経度            
Float            

Big

小数度

           
二重線            
文字列
時間            
Date Time            
Boolean            
キー フィールド 検索キーとして使用される、データベース内のフィールドを指定します。[入力フィールド] 列にあるフィールドの値がデータベース内の [キー フィールド] の値と一致している場合、クエリはデータベース内のそのレコードからデータを返します。
入力フィールド 値がキーとして使用されるデータフロー フィールドを指定します。このフィールドの値がデータベース内の [キー フィールド] の値に一致している場合、クエリはデータベース内のそのレコードからデータを返します。

高度なキャッシュ オプション

高度なキャッシュとは、ローカル キャッシュに似た一時的なキャッシュのことです。Query Cache ステージの実行時に使用されます。クエリで指定されたテーブルからデータを読み込む、SQL クエリに基づくキャッシュを構築します。そして、where 句で指定された検索キーに基づいてキャッシュ内のデータを検索し、キャッシュ内で一致したレコードからデータを返して、そのキャッシュ レコードのデータをデータフロー内のレコードに追加します。
高度なキャッシュは、Query Cache のジョブ実行時に作成されるので、動的です。Query Cache がデータの読み込みを完了すると、このキャッシュは自動的にメモリから削除されます。高度なキャッシュは、Query Cache ステージが実行されるたびに作り直されます。複数のテーブルからデータを読み込む場合や、キャッシュの作成に複雑なクエリを実行する必要がある場合は、高度なキャッシュ オプションを選択します。
オプション名 説明
キャッシュ タイプ 高度なキャッシュ オプションを指定します。
接続

使用するデータベース接続を選択します。使用できるデータベース接続は、Management Console の Connection Manager に定義されている接続によって異なります。新しいデータベース接続を作成、あるいは既存のデータベース接続を変更または削除する必要がある場合は、[管理] をクリックします。

データベース接続を追加または変更する場合は、次のフィールドに必要な値を指定します。

接続名
接続の名前を入力します。任意の名前にすることができます。
データベース ドライバ
適切なデータベース タイプを選択します。
接続オプション
データベースへの接続に使用するホスト、ポート、インスタンス、ユーザ名、およびパスワードを指定します。
クエリ データベースからデータを読み込む SQL クエリ。クエリは、複数のテーブルからデータを読み込むことができます。
説明: クエリに基づいて作成されたキャッシュを検索する where 句として使用するテキスト。$ 演算子を前に付けることによって入力フィールドをクエリ内で指定できます。例えば、_id = $_inputId と指定します。ここで _inputId は入力フィールドで、_id はキャッシュの検索列です。
フィールドを取得 SQL クエリを用いてキャッシュするように選択されたフィールドを、グリッドに設定します。
データベース フィールド この列には、データベース内で取得されたフィールドのリストが表示されます。これらのフィールド名は変更できません。
ステージ フィールド この列には、データフローで使用されるフィールド名のリストが表示されます。フィールド名を変更する場合は、そのフィールド名をクリックして新しい名前を入力します。
Type この列には、各データフロー フィールドのデータ タイプのリストが表示されます。

デフォルト エラー値

クエリでエラーが発生した場合にデータフロー フィールドに表示する値を指定します。ドロップダウン リストに、クエリ対象のフィールドのデータ タイプに応じた有効な値が表示されます。例えば、integer の場合、オプションとして -1 が表示されます。

このフィールドに値を入力することもできます。さまざまなデータ タイプに対する有効なデフォルト エラー値の一覧については、以下の表を参照してください。
データ タイプ 有効なデフォルト エラー値とデータ タイプ (カッコ内)
  Null

-1

(整数)

1899-

12-30

12:00:00

(日付/時刻)

1899-

12-30

(日付)

12:00:00

(時刻)

False
Date (日付)              
Integer            
経度            
Float            

Big

小数度

           
二重線            
文字列
時間            
Date Time            
Boolean            

[実行時] タブ

[実行時] タブにあるオプションは、グローバル キャッシュ、ローカル キャッシュ、高度なキャッシュで共通です。

オプション名

説明

マッチ オプション

クエリにマッチするキャッシュ内のレコードが複数ある場合にどうするかを指定します。次のいずれかです。

すべてのマッチを返す
マッチする値をキー フィールドに持つ、キャッシュ内のすべてのレコードからデータを返します。
最初にマッチしたレコードを返す
マッチする値をキー フィールドに持つ、キャッシュ内の最初のレコードのみからデータを返します。
最後にマッチしたレコードを返す
マッチする値をキー フィールドに持つ、キャッシュ内の最後のレコードのみからデータを返します。
ステージ オプション
このセクションには、このステージの SQL クエリで使用されるデータフロー オプションの一覧が表示され、そのすべてのオプションに対してデフォルト値を設定できます。[名前] 列にはオプションが表示され、そのデフォルト値を対応する [値] 列に入力できます。
注: ここで設定したデフォルト値は、[データフロー オプション] ダイアログ ボックスの [データフロー オプションをステージにマッピングします] セクションにも表示されます。このダイアログ ボックスでも、デフォルト値を変更できます。[ステージ オプション][データフロー オプション]、および Job Executor で設定されたオプションのデフォルト値が競合する場合の優先順位は、Job Executor で指定された値 > [データフロー オプション] ダイアログ ボックスで定義された値 > [ステージ オプション] で入力された値の順になります。