Materialized Views

Incremental Materialized Views

Incremental materialized views update results continuously as source data changes — without full recomputation. RisingWave maintains always-fresh views with sub-second latency using PostgreSQL-compatible SQL.

Incremental
Delta Processing
Only processes changed rows instead of rescanning entire tables, reducing compute by orders of magnitude.
<1s
View Freshness
Materialized view results update within sub-second latency as source data changes continuously.
Cascading
Views on Views
Build multi-stage pipelines with views reading from views. Changes propagate through the entire chain.
Consistent
Exactly-Once
Barrier-based checkpointing ensures all views see consistent snapshots across distributed nodes.

Why Incremental

What are incremental materialized views and why do they matter?

Incremental materialized views maintain pre-computed query results that update automatically when underlying data changes. Unlike full-refresh views that recompute everything on a schedule, incremental views process only the changed rows — delivering fresh results at a fraction of the compute cost.

FactorFull RefreshIncremental (RisingWave)
Refresh ModelRecomputes entire result setProcesses only changed rows
Compute CostProportional to data sizeProportional to change rate
FreshnessStale between refreshesAlways current
ComplexitySchedule + retry + orchestrateSingle SQL statement
  • Traditional materialized views in PostgreSQL, Snowflake, or Redshift require scheduled full refreshes
  • Full refresh cost scales with total data size — 1 TB table costs the same whether 1 row or 1 million rows changed
  • Incremental maintenance processes only the delta, reducing compute by orders of magnitude
  • Results are continuously fresh instead of stale between refresh intervals

How It Works

How does RisingWave handle incremental view maintenance differently?

RisingWave treats materialized views as first-class streaming objects. When source data changes, RisingWave propagates deltas through the query plan incrementally, updating only affected rows. This works for complex queries including joins, aggregations, window functions, and nested views.

Delta Propagation

Changes flow through the query DAG as insert/delete pairs, updating only what changed.

Complex Query Support

Supports joins, aggregations, window functions, DISTINCT, and subqueries — all maintained incrementally.

Cascading Views

Build views on views. Changes propagate through the entire chain with consistent snapshots.

Instant Point Queries

Materialized view results are stored and indexed. Point lookups return in single-digit milliseconds.

Use Cases

What use cases benefit most from incremental materialized views?

Any workload that requires fresh aggregated or joined data benefits from incremental materialized views. The biggest impact comes from replacing expensive periodic batch refreshes with continuous, low-cost incremental updates — especially for dashboards, feature stores, and data synchronization.

  • Real-time dashboards showing live KPIs, revenue, and operational metrics without refresh delays
  • Feature stores maintaining up-to-the-second ML features for online inference
  • Data denormalization joining multiple tables into a single queryable view for APIs
  • CDC-driven synchronization keeping read replicas and search indexes fresh
  • Event-driven alerting computing complex conditions across multiple data streams

Frequently Asked Questions

What is the difference between a regular view and a materialized view?
How does incremental maintenance reduce compute costs?
Can I build materialized views on top of other materialized views?
How does RisingWave ensure consistency in materialized views?

Ready to try incremental materialized views?

Start building always-fresh views with SQL in minutes.

Try Incremental Materialized Views Free
Best-in-Class Event Streaming
for Agents, Apps, and Analytics
GitHubXLinkedInSlackYouTube
Sign up for our to stay updated.