Skip to content

DynamoDB CDC to Synapse Final-State Guide

June 2026

DynamoDB to Synapse CDC is a translation problem: item mutations in the source need to become guarded MERGE operations in the warehouse.

Short Answer

DynamoDB CDC to Synapse starts with DynamoDB Streams records and ends with Synapse MERGE statements. Skippr reads INSERT, MODIFY, and REMOVE item events from the stream, converts them into CDC mutations, and applies them to the Synapse target only when the incoming _skippr_order_token is newer.

The destination-specific change is that Synapse behaves like a SQL warehouse, so the integration depends on making item identity explicit in the MERGE predicate. If a table uses both partition and sort keys in DynamoDB, Synapse must merge on that same logical key or the final-state table will drift from the source.

Why Teams Struggle with This

This integration often looks straightforward because both ends are familiar technologies. The hidden difficulty is preserving DynamoDB item semantics across a SQL MERGE boundary.

  • A partial business key in Synapse can collapse distinct DynamoDB items into one row.
  • Without NEW_AND_OLD_IMAGES, the warehouse pipeline loses full item context.
  • REMOVE events need tombstone recording before conditional delete handling.
  • Older mutations can still overwrite newer rows if MERGE does not compare order tokens.

How Skippr Handles It

Skippr handles the source side with native DynamoDB Streams reading and stores sequence numbers per shard for restart safety. That means the pipeline resumes from documented stream positions, not from guessed timestamps.

On Synapse, Skippr adds _skippr_order_token as NVARCHAR and creates companion tombstone tables automatically, then runs MERGE through the Tiberius-based path the docs describe. The pipeline stays explicit from stream shard to final-state table.

  • DynamoDB item mutations keep their source ordering metadata.
  • Synapse MERGE uses newer-wins comparisons on _skippr_order_token.
  • Delete intent is preserved in tombstone tables.
  • The final-state table is designed for warehouse readers, not for stream debugging.

What the First Useful Version Looks Like

Choose this integration when Azure Synapse is the analytical destination but the application source of truth lives in DynamoDB.

The main job is preserving item identity and ordering as the pipeline crosses from a stream API into SQL MERGE semantics.