The Streaming Database You Already Know How to Use

Materialize is a streaming SQL database powered by Timely and Differential Dataflow, purpose-built for low-latency applications.

Strong Consistency

Complex SQL Joins

PostgreSQL API

Trusted By Data Teams
Emily Hawkins
Emily HawkinsData Infrastructure Lead, Drizly
We can write real-time SQL, exactly the same way as we already are in Snowflake with batch.
See how Drizly uses Materialize →
Ryan Gaus
Ryan GausStaff Engineer and Tech Lead, Density
Materialize has saved us I-don’t-know-how-many untold quarters of trying to build our own thing.
See how Density uses Materialize →
Jean-Francois Perreton
Jean-Francois PerretonHead of Algo Quant, Kepler Chevreaux

Materialize directly integrates with our third-party applications, BI tools, you name it. It’s really SQL.

See how Kepler uses Materialize →
At Startups and Enterprises

Think Declaratively, Act Incrementally

Materialize helps you get access to the power of a stream processing engine, with the simplicity of a PostgreSQL-compatible developer interface.

Fast

Millisecond-level latency through incrementally-updated materialized views.

Familiar

Control it with ANSI-standard SQL. Connect with Postgres drivers.

Fully-Featured

Support for multi-way joins, subqueries, upserts, deletes, CTEs.
Use Cases

What Can You Build with Materialize?

Real-Time Analytics

Keep the SQL you use in batch processing - and easily move to real-time analytics. Continuously test data quality models, and build reports and dashboards that are updated in milliseconds, not once a day.
Read More

Automation and Notifications

Get real-time alerts on critical events with sub-second latencies. Build user-facing notifications, create fraud and risk models, and launch automated services powered by data that is always up-to-date and correct.

Segmentation and Personalization

Build streaming microservices with a few lines of SQL. Get an up-to-the-second view of your customers for dynamic pricing and billing, personalized experiences, and accurate content and product recommendations.

ML Ops

Train and serve machine learning models in real-time with a single solution. Power your online feature store with continuously updated data, and quickly refine predictive models with correct data - all through standard SQL.

How It Works

1

Connect your Data Sources

Use Materialize to ingest data from multiple sources, including relational databases like Postgres, event streams, and data lakes.
CREATE SOURCE my_kafka_source
  FROM KAFKA BROKER 'kafka:9092'
  TOPIC 'my-topic' FORMAT BYTES;
Kafka Integrations
Redpanda Integrations
PostgreSQL Integrations
Other DB Integrations
2

Define your queries

Materialize is an engine that parses SQL (joins, aggregations, transformations, computations) into dataflows and uses them to maintain results of SQL queries incrementally as new events arrive.
CREATE MATERIALIZED VIEW my_view AS
  SELECT * FROM db.users u
  JOIN kafka.activities a ON u.id = a.user_id
  JOIN s3.logs l ON u.id = l.user_id;
Key Concept: Materialized Views
Key Concept: Indexes
Docs: Streaming Joins
3

Build with Real-Time Data

Query Materialize with any PostgreSQL driver, reads are low-latency and high concurrency. Alternatively, updates can be streamed out, either directly into applications or as change events to Kafka.
-- Query like a traditional database
SELECT * FROM my_view WHERE user_id=123;
--Subscribe to receive changes in a query
TAIL (SELECT * FROM my_view WHERE user_id=123);
Key Concept: Sinks
Docs: Querying Materialize with SELECT
Docs: Subscribing to Queries with TAIL

Why Materialize?

Strong Consistency

Strong Consistency Guarantees for Streaming Data

Materialize provides correct and consistent answers with minimal latency - not approximate answers or eventual consistency. Materialize always delivers answers with the correct result on some specific (and recent) version of your data.
Why consistency is important in Streaming →
Streaming Joins

Multi-way and Cross-Stream Joins

Whereas other systems require ahead-of-time denormalization or round-trip processing for joins, Materialize offers low-latency support for multi-way joins and complex transformations. Write the same kind of complex SQL queries you would use on a traditional data warehouse - and get real-time results.

Joins in Materialize →
Subscribe to SQL

Subscribe to SQL Query Updates with TAIL

The TAIL statement is a more general form of a SELECT statement that produces a sequence of updates - enabling developers to subscribe to SQL query results as they occur. Publish (or push) real-time data source, table, or view update as they occur and build event-driven reactive apps.
Subscribe to changes in a view →
PG Wire compatibility

PostgreSQL Up Front, Timely Dataflow Underneath

Materialize offers an easy SQL interaction layer to a stack of powerful stream processing engines - Timely Dataflow and Differential Dataflow. Already used in correctness-critical global production deployments by Fortune 100 companies, these battle-tested systems avoid many of the shortcomings of other approaches to stream processing.

Get the Technical 101 on Materialize

Want to learn more about Materialize? We’ll send you everything you need to know, including initial concepts, getting started guides, and an overview of the technical internals powering our streaming database.

Works with Your Existing Data Stack

PostgreSQL

Streaming infrastructure is not required to use Materialize for real-time computation. Connect directly to any Postgres database via CDC and continually ingest data as it changes.
View Postgres Docs

dbt

Run your existing dbt models on top of streaming data in Materialize, and dbt persists a materialized view. No matter how much or how frequently your data arrives, your model will stay up to date.
View dbt Docs

Kafka

Connect multiple Kafka topics to Materialize and easily explore, transform, and join streaming datasets - and sink maintained SQL query results downstream to new, enriched Kafka topics.
View Kafka Docs
Materialize Community Slack

Join the Community

Join hundreds of other Materialize users and connect directly with our engineers. Learn from our community, get help with your implementation, and let us know what you think! We’d love to hear from you.

Materialize Cloud

Sign Up for Early Access

Register for early access to start building real-time analytics dashboards and live applications.