ETL/ELT PatternsIncremental Processing PatternsEasy⏱️ ~2 min

What is Incremental Processing?

Definition
Incremental Processing means transforming only the data that has changed or been added since the last successful run, rather than reprocessing the entire dataset from scratch every time.
The Core Problem: Imagine you have a data warehouse holding 500 TB of event data. Your business wants hourly refreshed reports. If you recompute all transformations from scratch every hour, you face massive costs and cannot meet latency requirements. With 500 TB at 1 GB per second processing speed, a full scan takes 5.8 days, not one hour. How Incremental Processing Works: Instead of processing everything, you track what has changed. New ride events arrive? Process only those new events. User profile updated in your database? Capture just that change. This requires three components working together. First, you need reliable change detection. For append only logs like event streams, you track consumer offsets indicating which messages you have already processed. For database tables, you use Change Data Capture (CDC) to monitor transaction logs, or rely on timestamp columns like updated_at to identify new or modified rows. Second, your transformations must handle incremental updates safely. They should be idempotent, meaning running the same input twice produces the same output without corruption. They must merge new data with existing tables using business keys and versioning logic. Third, you maintain durable state about progress. This might be Kafka consumer offsets stored in a coordination service, high watermark values recording the latest timestamp processed per source table, or version metadata tracking which data made it into each destination table. Real World Scale: A ridesharing company processes 5 to 10 billion events daily. At peak, that is 200k to 500k events per second. Incremental processing lets them update analytics dashboards within 1 to 5 minutes instead of waiting hours for full batch recomputation. The trade is complexity: you now manage state, handle late arriving data, and ensure correctness across retries.
💡 Key Takeaways
Incremental processing transforms only changed or new data instead of reprocessing the entire dataset, reducing cost and latency by factors of 10 to 100
Requires three core components: reliable change detection (CDC, offsets, timestamps), idempotent transformations that safely merge updates, and durable state tracking progress
At scale (500 TB warehouse), full reprocessing takes days while incremental updates complete in minutes, making hourly or real time analytics feasible
Trade simplicity for scalability: you must now handle late data, manage watermarks, ensure idempotency, and design backfill strategies
📌 Examples
1Rideshare company processing 10 billion events per day: instead of reprocessing all 500 TB hourly, incremental ETL reads only new events from last committed offset, processes 10 million new rows, and merges into fact tables within 5 minutes
2E commerce platform with 100 million users: CDC captures updates to user profiles from OLTP database transaction log, incremental pipeline applies only changed rows (roughly 500k daily updates) to analytics warehouse instead of scanning entire user table
← Back to Incremental Processing Patterns Overview