The changes refresh mode applies incremental inserts, updates, and deletes from a Change Data Capture (CDC) (opens in a new tab) source. Unlike append, changes mode reflects modifications and deletions in the acceleration, keeping it consistent with sources where rows mutate over time.
Use changes when:
refresh_mode: changes requires a CDC-capable data connector. Spice supports CDC via PostgreSQL Logical Replication (opens in a new tab), MongoDB Change Streams (opens in a new tab), DynamoDB Streams (opens in a new tab), and Debezium (opens in a new tab) (over Kafka). See Supported Data Connectors (opens in a new tab) for details.
:::note
Apache Kafka (opens in a new tab) is a real-time streaming source but is append-only — it uses refresh_mode: append (opens in a new tab), not changes.
:::
The Debezium connector streams change events from a Kafka topic produced by Debezium. Each event is applied to the acceleration in order, preserving inserts, updates, and deletes from the source.
refresh_check_interval, refresh_cron, on-demand refresh, refresh_data_window, and retention_period do not apply — updates are driven by the change stream rather than periodic polling.refresh_sql (opens in a new tab) can only modify selected columns in changes mode and cannot apply row filters.