データベース・ロード・ユーティリティーを使用するための IBM ® Campaign のセットアップ
すべてのデータ・ソースを対象としたデータベース・ロード・ユーティリティーを使用することで、パフォーマンスを向上させることができます。
IBM ® Campaign は、データベース・ロード・ユーティリティーの使用をサポートしています。 このユーティリティーは、ご使用のデータベースのベンダーから入手できます。 ライセンス交付を受けたデータベース・ロード・ユーティリティーのコピーを入手する必要があります。
データベース・ロード・ユーティリティーにより、一時テーブルに ID リストをプッシュするときや、 IBM ® Campaign からデータベースにデータをエクスポートするときに、パフォーマンスを向上させることができます。 例えば、スナップショット処理、メール・リスト処理、またはコール・リスト処理の間に、データがエクスポートされます。
ロード・ユーティリティーによりパフォーマンスを大幅に向上させることができます。DB2® でのテストでは、ロード・ユーティリティーなしでは、100 万行の挿入に約 5 倍の CPU 使用率と、大量のディスク I/O が必要であることが示されます。 結果は、使用中のハードウェアに応じて異なります。
以下の指示は、DB2® データベースを使用していることを前提としています。 別のデータベースを使用している場合、それに応じて指示を調整してください。
*
1.
データベース・ロード・ユーティリティーを使用するように IBM ® Campaign をセットアップするには、データ・ソースごとに実行する 3 つの主なステップがあります。 2 つのロード制御ファイル・テンプレートの作成、ロード・ユーティリティーを開始するスクリプトまたは実行可能ファイルの作成、そして IBM ® Campaign でローダー構成プロパティーの設定です。
2.
ほとんどのデータベース・ロード・ユーティリティーで、制御ファイルを使用する必要があります。 IBM ® Campaign は、作成した制御ファイル・テンプレートに基づいて、動的に制御ファイルを生成することができます。
a.
connect to <DATABASE> user <USER> using <PASSWORD>;
load client from <DATAFILE> of del modified by coldel| insert into <TABLE>(
<FIELDNAME><,>
)
nonrecoverable;
b.
connect to <DATABASE> user <USER> using <PASSWORD>;
load client from <DATAFILE> of del modified by coldel| insert into <TABLE>(
<FIELDNAME><,>
)
nonrecoverable;
これで、データを新規データベース表や空のデータベース表にロードしたり、既存のデータベース表にデータを追加したりするためのテンプレートができました。
IBM ® Campaign は、テンプレート内の DATABASEUSERPASSWORDDATAFILETABLE、および FIELDNAME の各トークンに入力し、DB2® ロード用に CONTROLFILE という名前の構成ファイルを作成します。
3.
ロード・ユーティリティーを呼び出すために、 IBM ® CampaignLoadercommand 構成プロパティーで識別されるシェル・スクリプト (あるいは、Windows の場合は実行可能ファイル) を使用します。 データベース・ロード・ユーティリティーの実行可能ファイルに対する直接呼び出しを指定することも、データベース・ロード・ユーティリティーを起動するスクリプトに対する呼び出しを指定することもできます。
a.
この例では、ローダーを開始するための db2load.sh という名前のシェル・スクリプトを作成します。 /tmp パスは、ユーザーが選択したディレクトリーで置き換えることもできます。
#!/bin/sh
cp $1 /tmp/controlfile.tmp
cp $2 /tmp/db2load.dat
db2 -tvf $1 >> /tmp/db2load.log
b.
chmod 755 db2load.sh
4.
IBM ® Campaign でローダー構成プロパティーを設定します。
ローダー構成プロパティーは、制御ファイル・テンプレートを識別し、スクリプトまたは実行可能ファイルの場所を示します。
a.
「設定」 > 「構成」と選択してから、Campaign|partitions|partition1|dataSources|<データ・ソース名> を選択します。
b.
Loader というワードで始まるプロパティーを設定します。 重要な情報については、「 IBM ® Campaign 管理者ガイド 」の『 IBM ® Campaign の構成プロパティー 』のトピック、またはオンライン・ヘルプを参照してください。
*
LoaderCommand: データベース・ロード・ユーティリティーを呼び出すスクリプトまたは実行可能ファイルへのパス。ほとんどのデータベース・ロード・ユーティリティーでは、正常に起動するために複数の引数が必要です。 DB2® が必要とするトークンは、以下の例では不等号括弧で囲んで示されます。 示されているとおりに入力してください。 これらのトークンは、コマンドが実行されると、指定された要素によって置き換えられます。 例: /Unica/Campaign/partition/partition1/db2load.sh <CONTROLFILE> <DATAFILE>
*
LoaderCommandForAppend: レコードをデータベース表に追加するためのデータベース・ロード・ユーティリティーを呼び出すスクリプトまたは実行可能ファイルへのパス。 例: /Unica/Campaign/partition/partition1/db2load.sh <CONTROLFILE> <DATAFILE>
*
LoaderDelimiter および LoaderDelimiterForAppend: ローダー制御ファイル・テンプレートで使用される区切り文字。
*
LoaderControlFileTemplate: 現行パーティションに対して相対的な、制御ファイル・テンプレートへのパス。 例: loadscript.db2
*
LoaderControlFileTemplateForAppend: 現行パーティションに対して相対的な、追加レコードの制御ファイル・テンプレートへのパス。例: loadappend.db2
*
その他すべての「ローダー」設定: 実装の必要に応じて、『 IBM ® Campaign の構成プロパティー 』のトピックに示される情報に従って指定します。
以下の図は、ローダー構成設定の例を示しています。Screen capture of loader configuration settings for a partition
c.
必ずデータ・ソースごとに「ローダー」構成設定を調整してください。
IBM ® Campaign は、データベースへの書き込み時に、以下のアクションを実行します。最初に、一時データ・ファイルを固定幅テキストまたは区切りテキストとして作成します。 LoaderControlFileTemplate プロパティーで指定されている場合、一時制御ファイルは、テンプレート・ファイルおよびデータベースに送信されるフィールドのリストに基づいて、動的に作成されます。次に、LoaderCommand 構成プロパティーで指定されているコマンドを発行します。最後に、一時データ・ファイルおよび一時制御ファイルをクリーンアップします。
高速ローダーで繰り返されるトークン