キャッシュテーブル作成テンプレート¶
Denodo では、キャッシュテーブルの作成に組み込みの SQL ステートメントを使用します。これでほとんどのシナリオに対応できますが、Denodo ではキャッシュテーブルの作成に使用するコマンドをカスタマイズできます。これを行うには 2 つの異なる方法があります。
キャッシュデータソースの場合: カスタムテーブル作成コマンドを使用して、すべてのキャッシュテーブルを作成します。
ビューの場合: 該当のビューのキャッシュテーブルの作成目的のみでカスタムテーブル作成コマンドを使用します。
Denodo では、キャッシュテーブルの作成をカスタマイズする SQL コマンドテンプレートに対応しています。また、テンプレートを使用して、データ移動テーブル、リモートテーブル、サマリテーブルのテーブル作成をカスタマイズすることもできます。テンプレートは、複数のパラメータを指定する SQL ステートメント CREATE TABLE で、文を実行する前にそのパラメータの値に置き換えられます。パラメータには 3 つのタイプがあり、すべて @{parameter_name} の構文に従います。
内部パラメータ: テーブル作成コマンドで、テーブル名、列、制限、データ形式、データの場所などを設定するパラメータ。これらのパラメータの値は自動的に設定されます。組み込みのテーブル作成テンプレートに名前が
@{internal_parameter_...}で始まるパラメータがある場合、カスタムテンプレートでもそのパラメータを使用する必要があります。内部パラメータについては、「 内部パラメータのリスト 」を参照してください。列パラメータ: ビューの列を参照するパラメータ。リモートテーブルとサマリテンプレートでは、これらのパラメータは <select query> の結果 (データ読み込みクエリとも呼ばれる) の列を参照します。
PRIMARY KEY(@{<column_name>})などの列パラメータを使用して、列の制限を設定できます。環境プロパティ: 環境ごとに異なるプロパティ値を使用するユーザー定義のパラメータ。これらのプロパティは、エクスポートや昇格に関する環境に固有のプロパティです。詳細については、「 Virtual DataPort のプロパティの構成 」と「 プロパティファイルへのエクスポート 」のセクションを参照してください。
テンプレート定義の構文:
<template_name:literal> = '<template_definition:literal>' [ DEFAULT( <parameter definition> [, <parameter definition> ]* ) ]
<parameter definition> ::= '<parameter_name:literal>' = '<parameter_value:literal>'
DEFAULT トークンの目的は、テンプレートのユーザー定義パラメータの値を設定することです。オプション export with properties を使用してデータソースやビューをエクスポートした場合、これらのプロパティの値は環境プロパティファイルにエクスポートされます。詳細については、「 プロパティファイルへのエクスポート 」を参照してください。
例:
my_template = 'CREATE TABLE @{internal_parameter_table_name} (@{internal_parameter_columns} @{internal_parameter_restrictions}) IN ACCELERATOR @{accelerator}'
DEFAULT('accelerator' = 'accel1')
ALTER DATASOURCE JDBC コマンドを使用して、キャッシュ、データ移動、リモートテーブル、サマリに使用するテーブル作成テンプレートをカスタマイズします。
ALTER DATASOURCE JDBC <data_source_name>
CREATE_TABLE_TEMPLATES (
<template_list>
)
DEFAULT CREATE_TABLE_TEMPLATES (
DATA_MOVEMENT = <data_movement_template_name>,
CACHE = <cache_template_name>,
CACHE_MANAGEMENT = <cache_management_template_name>,
REMOTE_TABLE = <remote_table_template_name>,
SUMMARY = <summary_template_name>
)
DATA_SOURCE_DEFAULT トークンは、Denodo 組み込みの CREATE TABLE コマンドの識別に使用される特殊なテンプレート名です。
例:
ALTER DATASOURCE JDBC my_data_source
CREATE_TABLE_TEMPLATES (
my_template1 = '<template 1 definition>',
my_template2 = '<template 2 definition>'
)
DEFAULT CREATE_TABLE_TEMPLATES (
DATA_MOVEMENT = DATA_SOURCE_DEFAULT,
CACHE = my_template1,
CACHE_MANAGEMENT = DATA_SOURCE_DEFAULT,
REMOTE_TABLE = my_template2,
SUMMARY = my_template2
)
警告
テーブル作成テンプレートを編集する前に、 ALTER DATASOURCE コマンドを使用してテーブル作成テンプレートを変更する場合の規則 をお読みください。
キャッシュデータソースのキャッシュテンプレートのカスタマイズ¶
キャッシュテーブル作成テンプレートをカスタマイズするには、キャッシュデータソースの構成を編集する必要があります。
ALTER DATASOURCE JDBC my_cache_data_source
CREATE_TABLE_TEMPLATES (
my_cache_template = '<my template definition>'
)
DEFAULT CREATE_TABLE_TEMPLATES (CACHE = my_cache_template);
注釈
Denodo では、新しいキャッシュテーブルを作成する場合のみ、新しいキャッシュテーブル作成コマンドを使用します。既存のキャッシュテーブルは再作成されません。既存のキャッシュテーブルを再作成する方法については、「 キャッシュテーブルの再作成 」のセクションを参照してください。
必要な権限
このコマンドを実行するには、以下の権限が必要です。
JDBC キャッシュデータソースのデータベースに対する
Connect権限。JDBC キャッシュデータソースに対する
Execute権限とWrite権限。
既存のデータソースを置き換えずに最初からデータソースを作成するには、データソースを作成するデータベースに対する Connect 権限、 Create data source 権限、 Execute 権限、 Write 権限が必要です。
ビューのキャッシュテンプレートのカスタマイズ¶
特定のビューのみにカスタムキャッシュテーブル作成テンプレートを設定できます。設定するには、ビューの構成を編集し、使用するカスタムキャッシュテーブル作成テンプレートを設定する必要があります。
ALTER [TABLE | VIEW] <view_name>
CREATE_TABLE_TEMPLATES (
cache = '<my template definition>'
)
コマンドを実行すると、Denodo ではこのテンプレートを使用してビュー <view_name> のキャッシュテーブルを作成します。キャッシュテーブルがすでにある場合は、新しいテーブル作成テンプレートを使用して新しいテーブルを取得するように、キャッシュテーブルを再作成する必要があります。「 キャッシュテーブルの再作成 」を参照してください。
必要な権限
このコマンドを実行するには、以下の権限が必要です。
ビューのデータベースに対する
Connect権限。ビューに対する
Write権限。JDBC キャッシュデータソースのデータベースに対する
Connect権限。JDBC キャッシュデータソースに対する
Execute権限とWrite権限。
既存のビューを置き換えずに最初から新しいビューを作成するには、ユーザーに以下の権限が必要です。
ビューが作成されるデータベースに対する
Connect権限とCreate view権限。JDBC キャッシュデータソースに対する
Execute権限とWrite権限。コマンドにキャッシュのテーブル作成テンプレートが含まれる場合。基本の JDBC データソースに対する
Execute権限とWrite権限。コマンドでリモートテーブル作成テンプレートを含む基本ビューやサマリビューが作成される場合。
キャッシュ管理テーブルテンプレートのカスタマイズ¶
コマンドをカスタマイズして Denodo キャッシュ管理テーブルを作成することも可能ですが、推奨されません。これを行うには、キャッシュデータソースの構成を編集します。
ALTER DATASOURCE JDBC my_cache_data_source
CREATE_TABLE_TEMPLATES (
my_cache_management_template = '<my template definition>'
)
DEFAULT CREATE_TABLE_TEMPLATES (CACHE_MANAGEMENT = my_cache_management_template);
キャッシュデータソースのキャッシュテンプレートのカスタマイズに必要な 同じ権限 が必要です。
