キャッシュテーブル作成テンプレート¶
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);
キャッシュデータソースのキャッシュテンプレートのカスタマイズに必要な 同じ権限 が必要です。