Materialize Streaming SQL
Write streaming SQL with Materialize for sub-second incremental views over Kafka, Postgres CDC, and webhooks. Generates sources, materialized views, sinks, and subscribe queries for real-time apps.
Materialize is a streaming database that maintains materialized views incrementally. This skill creates sources for Kafka, Postgres CDC via Debezium, and webhooks, writes SQL views that update in milliseconds as upstream data changes, sets up sinks back to Kafka/S3, and uses SUBSCRIBE for tailing changes from app code. Covers cluster sizing, indexing strategies, and migrating from batch dbt models to streaming.
When to use
Use when building real-time dashboards, replacing periodic batch jobs with always-fresh views, powering live features in apps, or doing streaming joins across multiple sources.
Examples
Always-fresh leaderboard
Incremental ranking from Kafka events
Build a Materialize pipeline that consumes user_events from Kafka and maintains a top-100 leaderboard view that updates within 100ms of each new event
Postgres CDC to streaming join
Real-time enrichment
Set up a Materialize source for Postgres CDC on orders and customers tables, then create a materialized view that joins them and exposes it via SUBSCRIBE to a Node.js app