高度なジョブオプション
Version 22.0.8483
高度なジョブオプション
Version 22.0.8483
高度なジョブオプションを使用すると、データフローをより詳細に制御できます。これらのオプションのデフォルト値を上書きすることで、データソースからのデータの抽出方法およびデータベースにレプリケートする方法を細かく調整できます。
これらの高度なオプションは、ジョブ設定のAdvanced タブから利用できます。
レプリケーションオプション
Advanced タブのレプリケートオプションセクションにあるレプリケーションオプションは、クエリレベルまたはジョブレベルで設定できます。クエリレベルで設定されたオプションは、そのクエリのみに影響し、ジョブレベルで設定されたオプションよりも優先されます。
以下のテーブルでは、利用可能なレプリケーションオプションとそのデフォルト値について説明します。
オプション名 | デフォルト値 | 説明 |
---|---|---|
テーブル名のプレフィックス | None | すべての同期先テーブルにプレフィックスを適用します。一般的なREPLICATE コマンドにのみ適用されます。例えば、sync_ というプレフィックスを使ってReplicate [Accounts] コマンドをレプリケートすると、同期先のsync_Accounts テーブルにAccounts データが複製されます。 |
同期先スキーマ | None | 同期先で使用されるスキーマを指定します。このオプションは、データベースに複数のスキーマが定義されている場合に重要です。 |
ステータス接続 | Default | ジョブステータスを保存するデータベース接続を指定します。デフォルトでは、データベースはアプリの設定と同じディレクトリに格納されます。 |
スキーマの変更 | True | ジョブスキーマを変更するかどうかを指定します。このオプションを設定すると、同期元テーブルのメタデータと同期先テーブルのメタデータが一致しない場合に、ジョブは同期先テーブルにカラムを追加してデータ型を変更します。 |
文字列の自動切り捨て | False | ジョブが自動的に文字列を切り捨てるかどうかを指定します。このオプションをTrue に設定すると、ジョブは同期先のカラムサイズに合わせて文字列を自動的に切り詰めます。 |
バッチサイズ | 1000 | 同期先テーブルに一度に送信するレコードの数を制御します。通常、バッチサイズが大きいほど全体のパフォーマンスが向上しますが、タイムアウト値を大きくする必要がある場合があります。 |
コマンドタイムアウト | 300 | 同期先の接続のタイムアウトを制御します。 |
エラー時に続行 | True | エラーが発生した場合に、ジョブを次のクエリに進めるかどうかを指定します。このオプションがTrue に設定されていてジョブがエラーに遭遇した場合に、停止するのではなくジョブ内の次のクエリに進みます。 |
DateTime 値をGMT に変換 | False | データベースに挿入する前に、すべてのローカルタイムをGMT に変換します。 |
テーブルを削除 | False | 既存の同期先データベースのテーブルを削除するかどうかを指定します。このオプションをTrue に設定すると、ジョブは新しい結果をキャッシュする前に、既存の同期先データベースのテーブルを削除します。このオプションは、同期先のデータベーステーブル全体をスキーマを含めてリフレッシュする場合に使用します。 |
レプリケート間隔 | 180 | ReplicateIntervalUnitオプションとペアで設定すると、このオプションはデータ取得時にデータを分割するタイムフレームを制御します。 |
レプリケート間隔の単位 | days | ReplicateInterval とペアで設定すると、このオプションはデータ取得時にデータを分割するタイムフレームを制御します。使用可能な値は、minutes、hours、days、weeks、months、およびyears です。 |
レプリケート開始値 | None | レプリケーションを開始する最小の日付 / int 値(yyyy-MM-dd 形式の日付)を設定します。 |
削除の挙動 | Hard Delete | ソースで削除されたデータをジョブがどのように管理するかを制御します。[削除をスキップ]は、削除されたレコードを無視します。[物理削除]は、削除されたレコードを同期先から削除します。[論理削除]は、同期先にレコードを残しますが削除済みとマークします。(すべてのソースがこの機能をサポートするわけではありません。) |
テーブルデータを削除 | False | テーブルデータを削除するかどうかを指定します。このオプションをTrue に設定すると、ジョブは選択した行が追加される前に、同期先のデータベーステーブルから既存の行を削除します。このオプションは、同期先のデータベーステーブル全体をリフレッシュし、既存のスキーマは維持する場合に使用します。 |
追加オプション
Advanced タブの追加オプションフィールドには、あまり一般的ではないオプションを複数設定できます。この例で示すように、複数のオプションを指定するには、カンマ区切りのname-value ペアを使用します。
ColumnNameIncludeVowels=true,TransactionSize=100000
以下のテーブルでは、これらのオプションとそのデフォルト値について説明します。
オプション名 | デフォルト | 説明 |
---|---|---|
BytesPerCharacter | 1 | キャッシュで割り当てる1文字あたりのバイト数を指定します。このオプションを使用すると、カラムサイズが、カラムサイズではなくバイトサイズで表される同期先の問題を回避できます。1文字あたり2バイト以上が割り当てられている場合は、報告されたカラムサイズは機能しません。 |
ColumnNameIncludeVowels | True | カラム名に母音を含めるかどうかを指定します。このオプションがFalse に設定されている場合、カラム名から母音が削除されます。カラム名のサイズを縮めて識別子の制限を回避するのに役立ちます。 |
ColumnNameMaxSize | -1 | カラム名の最大サイズを決定します。値-1 はサイズの最大値がないことを意味し、ジョブはデフォルトで同期先がレポートする最大カラムサイズになります。 |
ReplaceInvalidDatesWithNull | True | 無効な日付をNULL に置き換えるかどうかを指定します。このオプションをTrue に設定すると、ソーステーブルによって報告されたすべての無効なdate-time はレプリケーションエラーを避けるためにNULL に変換されます。 |
ReplicateEndDate | None | レプリケーションを行う最大の日付を設定します(yyyy-MM-dd の形式)。 |
StoresUppercaseIdentifiers | False | キャッシュ内の識別子をすべて大文字で格納するかどうかを指定します。このオプションをTrue に設定すると、識別子はすべて大文字で格納されます。 |
StoresLowercaseIdentifiers | False | キャッシュ内の識別子をすべて小文字で格納するかどうかを指定します。このオプションをTrue に設定すると、識別子はすべて小文字で格納されます。 |
Transaction Size | 50000 | レコードが同期先テーブルにコミットされる前に、メモリに保持されるレコードの数を制御します。 |
LongTextSize | None | VARCHAR カラムがvarchar(max) に変換される前の最大カラムサイズを設定します。例えば、このオプションを255に設定すると、カラムサイズが255以下のVARCHAR カラムはそのままで、255より大きいカラムサイズはすべてvarchar(max) に設定されます。このオプションは、切り捨ての問題に役立ちます。 |