streaming SQL
Materialize
Materialize is a streaming SQL database that keeps views up to date. This profile covers what it does, how it is priced, and where it stops being the right choice.
What the product actually does
Materialize reads from Kafka or Postgres, maintains the result of a SQL query incrementally as new data arrives, and serves that result to a client with millisecond latency. The query is written once and the answer is always current.
The mechanism is a dataflow engine derived from timely and differential dataflow. Each source change propagates through the view graph, so the cost of an update is proportional to the change rather than to the size of the data.
How pricing works once you are inside
The cloud product prices on compute and storage separately. Compute is sized by the complexity of the maintained views and the throughput of the sources, and it is the number to model carefully because an expensive view costs the same whether or not anyone reads it.
The self-managed version exists for teams that need it, and the operational burden is a cluster plus the sources it consumes.
Where it breaks down
SQL coverage. Materialize supports a substantial subset and not all of it, and the gaps are the ones that matter for complex analytical queries: certain window functions, some joins, and correlated subqueries.
The maintained-view model also constrains how you think. A view that is cheap to write in batch SQL can be expensive to maintain continuously, and the design has to account for that from the start.
What switching costs
High. The views are the application, and reimplementing incremental maintenance elsewhere means rebuilding them in a different paradigm.
Sources
Materialize public documentation and pricing page, read October 2026.