Sync Modes
A sync mode governs how Airbyte reads from a source and writes to a destination. Airbyte provides different sync modes to account for various use cases. To minimize confusion, a mode's behavior is reflected in its name. The easiest way to understand Airbyte's sync modes is to understand how the modes are named.
- The first part of the name denotes how the source connector reads data from the source:
- Incremental: Read records added to the source since the last sync job. (The first sync using Incremental is equivalent to a Full Refresh)
- Method 1: Using a cursor. Generally supported by all connectors whose data source allows extracting records incrementally.
- Method 2: Using change data capture. Only supported by some sources. See CDC for more info.
- Full Refresh: Read everything in the source.
- Incremental: Read records added to the source since the last sync job. (The first sync using Incremental is equivalent to a Full Refresh)
- The second part of the sync mode name denotes how the destination connector writes data. This is not affected by how the source connector produced the data:
- Overwrite: Overwrite by first deleting existing data in the destination.
- Append: Write by adding data to existing tables in the destination.
- Deduped History: Write by first adding data to existing tables in the destination to keep a history of changes. The final table is produced by de-duplicating the intermediate ones using a primary key.
A sync mode is a combination of a source and destination mode together. The UI exposes the following options, whenever both source and destination connectors are capable to support it for the corresponding stream:
- Incremental Append + Deduped: Sync new records from stream and append data in destination, also provides a de-duplicated view mirroring the state of the stream in the source.
- Full Refresh Overwrite: Sync the whole stream and replace data in destination by overwriting it.
- Full Refresh Append: Sync the whole stream and append data in destination.
- Incremental Append: Sync new records from stream and append data in destination.