> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sync.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 高度なジョブオプション

export const siteNameShort = "Sync";

高度なジョブオプションを使用すると、データフローをより詳細に制御できます。これらのオプションのデフォルト値を上書きすることで、データソースからのデータの抽出方法およびデータベースにレプリケートする方法を細かく調整できます。

これらの高度なオプションは、**ジョブ設定**の**高度な設定**タブから利用できます。

## レプリケーションオプション

**高度な設定**タブの**レプリケートオプション**セクションにあるレプリケーションオプションは、クエリレベルまたはジョブレベルで設定できます。クエリレベルで設定されたオプションは、そのクエリのみに影響し、ジョブレベルで設定されたオプションよりも優先されます。

以下のテーブルでは、**レプリケーションオプション**セクションに表示される順序に従い、利用可能なレプリケーションオプションとそのデフォルト値について説明します。

| オプション名                 |      デフォルト値     | 説明                                                                                                                                                                      |
| :--------------------- | :-------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **ステータス接続**            |   **Default**   | ジョブステータスを保存するデータベース接続を指定します。デフォルトでは、データベースはアプリケーション設定と同じディレクトリに格納されます。                                                                                                  |
| **テーブル名のプレフィックス**      |       None      | すべての同期先テーブルにプレフィックスを適用します。一般的なREPLICATE コマンドにのみ適用されます。例えば、`sync_` というプレフィックスを使って`Replicate [Accounts]` コマンドをレプリケートすると、同期先の`sync_Accounts` テーブルにAccounts データが複製されます。     |
| **テーブル名のサフィックス**       |       None      | すべての同期先テーブルにサフィックスを追加します。テキストボックスには、英字、数字、ダッシュ、またはアンダースコアのみ使用できます。                                                                                                      |
| **削除の挙動**              | **Hard Delete** | データソースで削除されたデータをジョブがどのように管理するかを制御します。**削除をスキップ**は、削除されたレコードを無視します。**物理削除**は、削除されたレコードを同期先から削除します。**論理削除**は、同期先にレコードを残しますが削除済みとマークします。（すべてのデータソースがこの機能をサポートするわけではありません。） |
| **コマンドタイムアウト**         |     **300**     | 同期先の接続のタイムアウトを秒単位で制御します。                                                                                                                                                |
| **スキーマの変更**            |   **Enabled**   | ジョブスキーマを変更するかどうかを指定します。このオプションを有効にすると、ソーステーブルのメタデータと同期先テーブルのメタデータが一致しない場合に、ジョブは同期先テーブルにカラムを追加してデータ型を変更します。                                                              |
| **文字列の自動切り捨て**         |   **Enabled**   | ジョブが自動的に文字列を切り捨てるかどうかを指定します。このオプションを**Enable** に設定すると、ジョブは同期先のカラムサイズに合わせて文字列を自動的に切り詰めます。                                                                                |
| **エラー時に続行**            |   **Enabled**   | エラーが発生した場合に、ジョブを次のクエリに進めるかどうかを指定します。このオプションが**Enable** に設定されていてジョブがエラーに遭遇した場合に、停止するのではなくジョブ内の次のクエリに進みます。                                                                |
| **DateTime 値をGMT に変換** |   Not enabled   | データベースに挿入する前に、すべてのローカルタイム値をGMT に変換します。                                                                                                                                  |
| **テーブルを削除**            |   Not enabled   | 既存の同期先データベースのテーブルを削除するかどうかを指定します。このオプションを**Enable** に設定すると、ジョブは新しい結果をキャッシュする前に、既存の同期先データベースのテーブルを削除します。このオプションは、同期先のデータベーステーブル全体をスキーマを含めてリフレッシュする場合に使用します。              |
| **テーブルデータを削除**         |   Not enabled   | テーブルデータを削除するかどうかを指定します。このオプションを**Enable** に設定すると、ジョブは{siteNameShort} が選択した行を追加する前に、同期先のデータベーステーブルから既存の行を削除します。このオプションは、同期先のデータベーステーブル全体をリフレッシュし、既存のスキーマは維持する場合に使用します。   |
| **ヒストリーモード**           |   Not enabled   | ソース内の各変更のタイムスタンプ付きレコードを同期先に追加するかどうかを指定します。このオプションを**Enable** に設定すると、同期先は最新の状態だけでなく、すべてのデータ変更の履歴ログを保持します。                                                                |

### 追加オプション

**高度な設定**タブの**レプリケートオプション**カテゴリの**追加オプション**フィールドには、あまり一般的ではないオプションを複数設定できます。この例で示すように、複数のオプションを指定するには、カンマ区切りのname-value ペアを使用します。

```
ColumnNameIncludeVowels=true,TransactionSize=100000
```

以下のテーブルでは、これらのオプションとそのデフォルト値について説明します。

| オプション名                             |        デフォルト        | 説明                                                                                                                                                                          |
| :--------------------------------- | :-----------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Batch Size**                     |       **1000**      | 同期先テーブルに一度に送信するレコードの数を制御します。通常、バッチサイズが大きいほど全体のパフォーマンスが向上しますが、タイムアウト値を大きくする必要がある場合があります。                                                                                     |
| **BytesPerCharacter**              |        **1**        | キャッシュで割り当てる1文字あたりのバイト数を指定します。このオプションを使用すると、カラムサイズが、カラムサイズではなくバイトサイズで表される同期先の問題を回避できます。1文字あたり2バイト以上が割り当てられている場合は、報告されたカラムサイズは機能しません。                                         |
| **ColumnNameIncludeVowels**        |       **True**      | カラム名に母音を含めるかどうかを指定します。このオプションが**False** に設定されている場合、カラム名から母音が削除されます。カラム名のサイズを縮めて識別子の制限を回避するのに役立ちます。                                                                          |
| **ColumnNameMaxSize**              |        **-1**       | カラム名の最大サイズを決定します。値\*\*-1\*\* はサイズの最大値がないことを意味し、ジョブはデフォルトで同期先がレポートする最大カラムサイズになります。                                                                                           |
| **HistoryModeAppendOnly**          | **False**（ほとんどの同期先） | 変更されたレコードの新しいバージョンを追加しますが、以前のバージョンやメタデータは更新しません。このオプションは、Avro、CSV、および Parquet 同期先に対してのみ自動的に有効になります。その他のすべての同期先では、手動で有効にする必要があります。                                           |
| **HistoryModeIncludeBeforeUpdate** |      **False**      | {siteNameShort} が行の「更新前」イメージをキャプチャするように指示します。その後、アプリケーションは各更新について同期先に追加のレコードを書き込みます。このオプションは**HistoryModeAppendOnly** と組み合わせて使用する必要があります。                                   |
| **MinLastModTimeOffset**           |        **1**        | **LastRunTime** カラムと**LastModTime** カラムの最小差分を秒単位で指定します。このオプションは、**ClockSkewInterval** 高度な設定オプションに代わるものです。                                                                   |
| **MaxLastModTimeOffset**           |       **300**       | **LastRunTime** カラムと**LastModTime** カラムの最大差分を秒単位で指定します。このオプションを**0**に設定すると、レプリケーションエンジンは最終実行時刻（**LastRunTime**）を最終変更時刻（**LastModTime**）として保存します。                            |
| **RefreshTable**                   |         None        | 後続の実行では増分ステータスを維持しながら、テーブル全体を強制的にリフレッシュします。                                                                                                                                 |
| **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)` に設定されます。このオプションは、切り捨ての問題に役立ちます。 |
