Treasure Data CDPの多くのbatch input connectorsは、incremental data loadingをサポートしています。この機能は、次のような場合に便利です:
- data sourcesが大きすぎて、定期的に完全に再インポートできない場合。
- 情報を最新の状態に保つために、更新されたデータを頻繁にインポートする必要がある場合。
- 使用量を最適化するために、取り込まれる行数を最小限に抑える必要がある場合。
incremental loadingを有効にするには、data sourceに新しいレコードを識別するのに役立つ特定のカラム(例: created_date)が必要です。incremental loadを有効にする方法は、Integration HubとTreasure Workflowのどちらを使用しているかによって異なります。
Integration Hubでsource settingを使用する場合、incremental loadメカニズムはTreasure Dataによって管理されます。プロセスは次のように機能します:
- ユーザーは1つ以上のincremental columns(例:
id,created_at)を指定します。 - input connectorは定期的に実行されるようにスケジュールされます。
- Treasure Dataは、
Config Diffという特別なセクションにincremental columnsの最新の値を自動的に記録します。 - スケジュールされた各実行で、connectorはこれらの記録された値に基づいて新しいレコードのみを取得します。
Treasure Dataはlast_recordsを自動的に維持および更新するため、ユーザーは各実行のためにparametersを手動で設定する必要はありません。
このアプローチは、前回のスケジュールされた実行以降に変更されたobject targetsのみを取得したい場合に便利です。 例えば、UIでは:

MySQL、BigQuery、SQL serverなどのdatabase integrationsでは、incremental dataをロードするためにcolumnまたはfield namesが必要です。例えば:

Treasure Workflow経由でincremental loadingを設定する場合、プロセスはユーザーによる明示的な管理が必要です。UIベースのアプローチとは異なり、Treasure Workflowはincremental valuesを自動的に追跡しません。代わりに:
- ユーザーは、
session_timeやその他のworkflow parametersなどのworkflow variablesを使用して、独自のincremental logicを定義します。 - この
session_time値はconnector configuration fileに注入されます。 - workflowが実行されるたびに、指定されたsession timeを使用してどのデータをインポートするかを決定します。
- workflow sessionが失敗した場合、同じ
session_timeを再利用してデータの一貫性を確保できます。
このアプローチは、履歴データを再ロードする必要があるbackfill operationsなどのシナリオを処理できるように、より柔軟性を持つように設計されています。
このアプローチでは、input connectorのincremental-loading機能は使用されません。代わりに、workflow variablesがconnector configurationに注入され、各workflow sessionでデータの異なる部分をロードできるようになります。
workflow variableの使用を宣言するworkflow definitionを作成します。workflowは、incremental loadingやその他の目的に役立つさまざまなvariablesを提供します。

last_session_timevariableをinput connector configuration fileに注入します。
workflowによってinput connectorがトリガーされると、適切なlast session timeがconnector configuration fileに注入されます。失敗したworkflow sessionのリトライがある場合、variable valueは変更されません。
これらのアプローチの違いを理解することで、ユーザーは特定のdata ingestionニーズに基づいて最適な方法を選択できます。