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

# ETL: IBM DB2 Snapshot CDC Source

> How to configure the IBM DB2 Snapshot CDC source component to read changed records from DB2 in your Integrate.io ETL pipeline.

Use the IBM DB2 (Snapshot CDC) source component to read only the records that have changed in your DB2 tables since the previous pipeline run, instead of reprocessing the entire table every time. The component produces two outputs: **Upserted records** (new and updated rows) and **Deleted records** (rows removed from the source).

## Connection Setup

Before reading changes, set up your DB2 connection. See [Connecting to DB2](/etl/allowing-integrateio-etl-access-to-db2-databases) for the credentials and network access required. Once the connection exists, add the **IBM DB2 (Snapshot CDC)** source component to your pipeline and select it.

## Snapshot Storage

IBM DB2 Snapshot CDC uses **File Based** snapshot storage. The snapshot of your previous run is stored as a Parquet file on Integrate.io managed cloud storage, which means:

* Only read access to your DB2 database is required.
* No snapshot tables are created in your source database.
* On the first run, every current record is treated as upserted because there is no previous snapshot to compare against.

<Note>
  Database (table-based) snapshot storage is only available for SQL Server connections. For IBM DB2, File Based storage is the only option, and you do not need to configure an S3 connection of your own.
</Note>

## Change Detection

Choose how the component decides whether a row has changed:

* **Primary Key**: matches rows by a unique identifier column and detects updates by comparing the remaining column values. Best when the table has a reliable key.
* **Composite Hash**: builds a hash from all or selected columns and compares hashes between runs. Best when the table has no reliable primary key.

With File Based storage you can also switch the **Source Mode** from **Table** to **Query** to track changes across a custom SQL query, including JOINs across multiple tables.

## Full Configuration Reference

<Card title="Snapshot CDC Source reference" icon="book" href="/etl/using-components-cdc-database-source" horizontal>
  Configuration steps, change detection methods, query mode, best practices, troubleshooting, and limitations that apply to every Snapshot CDC source.
</Card>
