# A single Postgres operational database has two tables of interest

Canonical URL: <https://datadriven.io/problems/a-single-postgres-operational-database-has-two-tables-of-int-98f9cad2>

Domain: Pipeline Design · Difficulty: medium

## Problem

A single Postgres operational database has two tables of interest. customers (~2M rows, slowly changing) needs hourly freshness; orders (~500M rows, +10M/day) needs five-minute freshness. The destination is Snowflake. The section's three legitimate strategies: full load + incremental pull (cheapest; no deletes on the incremental side), trigger-based CDC (captures deletes; doubles writes), and log-based CDC with Debezium (low overhead; needs WAL access and slot management). Pick the CDC strategy by adding a strategy-marker node downstream of the database whose name states the chosen strategy per table and the trade-off that drove it (scale, deletes, latency, or team capacity).

## Related

- [All practice problems](https://datadriven.io/problems)
- [Mock interview mode](https://datadriven.io/interview/a-single-postgres-operational-database-has-two-tables-of-int-98f9cad2)
- [System Design Interview Questions](https://datadriven.io/data-engineering-system-design)
- [Data Engineering Interview Prep Guide](https://datadriven.io/data-engineer-interview-prep)
- [Daily Challenge](https://datadriven.io/daily)

---

Source: DataDriven (https://datadriven.io). 100% free data engineering interview prep. Live code execution against Postgres 16, Python 3.11, and Spark sandboxes. No paywall, no premium tier, no signup gate.