Building an Unbundled Data Warehouse with Postgres, Estuary, S3 & DuckDB
In this video, I expand on Estuary's change data capture capabilities to build an unbundled data warehouse. A flexible architecture where you bring your own compute. This video is sponsored by https://estuary.dev/ What we build: - Stream live PostgreSQL data into an S3 bucket using Estuary - Query the same data from multiple interfaces without moving it - Use DuckDB CLI, DuckDB UI, Real Data, and MotherDuck to explore and analyze your data Why this matters: The unbundled approach separates storage (S3) from compute, letting you choose the tools that work best for your workflow. Whether you want quick CLI queries, persistent notebooks, AI-generated dashboards, or managed data warehouse compute. It all reads from the same schema-validated data source. Covered in this video: ✓ Setting up PostgreSQL locally ✓ Configuring Estuary captures and S3 materialization ✓ Querying with DuckDB CLI and local databases ✓ Building notebooks in DuckDB UI ✓ Creating AI dashboards with Real Data ✓ Scaling to MotherDuck's managed compute Perfect for anyone interested in modern data architecture, streaming pipelines, or exploring alternatives to traditional bundled data warehouses. Links: - Previous video on Change Data Capture: https://youtu.be/_tgiCopf8aY?si=9YAw3S3VcTLK71D_ - GitHub setup guide: https://github.com/early-signal-tech/estuary-examples/blob/main/postgres-simple-capture-setup.md My Links: Substack: https://thefulldatastack.substack.com/ LinkedIn: https://www.linkedin.com/in/hoytemerson/ X: https://x.com/HoytEmerson My content company: https://www.earlysignal.tech/ 0:00 Introduction to Unbundled Data Warehouse 2:17 Set up local Postgres 4:03 Configuring PostgreSQL Source 4:54 S3 Materialization Setup 8:59 DuckDB CLI: Bring Your Own Compute 12:31 Query Interfaces: DuckDB UI, Rill Data & MotherDuck 18:04 Architecture Overview & Conclusion