Materialized Views
Materialized Views
Feature ID: Materialized Views Status: Production-Ready Last Updated: January 4, 2026
Overview
HeliosDB’s materialized views provide automatic query optimization through pre-computed result caching with intelligent refresh strategies and transparent query rewriting. Materialized views significantly accelerate read-heavy workloads by storing pre-computed query results that are automatically kept up-to-date.
Key Capabilities
| Capability | Description | Benefit |
|---|---|---|
| Incremental Refresh | Update only changed data | 10-100x faster refresh |
| Flexible Scheduling | Manual, on-commit, interval, cron | Match any workload pattern |
| Query Rewriting | Automatic view substitution | Transparent optimization |
| Multiple Storage Backends | LSM, Memory, Columnar, Hybrid | Optimized for use case |
| Join Elimination | Pre-compute expensive joins | Order of magnitude speedup |
| Aggregation Pushdown | Pre-compute aggregations | Real-time analytics |
Architecture
Materialized Views Architecture
┌─────────────────────────────────────────────────────────────────────┐ │ Query Layer │ │ ┌─────────────┐ ┌──────────────────┐ ┌─────────────────────┐│ │ │ SQL Parser │ -> │ Query Rewriter │ -> │ Query Executor ││ │ └─────────────┘ └──────────────────┘ └─────────────────────┘│ └──────────────────────────────┬──────────────────────────────────────┘ │ v ┌─────────────────────────────────────────────────────────────────────┐ │ Materialized View Manager │ │ ┌───────────────┐ ┌─────────────────┐ ┌────────────────────────┐│ │ │ View Registry │ │ Refresh Manager │ │ Dependency Tracker ││ │ └───────────────┘ └─────────────────┘ └────────────────────────┘│ └──────────────────────────────┬──────────────────────────────────────┘ │ v ┌─────────────────────────────────────────────────────────────────────┐ │ Storage Layer │ │ ┌─────────┐ ┌─────────┐ ┌───────────┐ ┌────────────────────────┐│ │ │ LSM │ │ Memory │ │ Columnar │ │ Hybrid ││ │ └─────────┘ └─────────┘ └───────────┘ └────────────────────────┘│ └─────────────────────────────────────────────────────────────────────┘Feature Highlights
1. Incremental Refresh
Efficiently update views by processing only changed data:
// Record changes to source tableslet change = RowChange::insert(table_id, key, value, transaction_id);engine.record_change(change).await?;
// Compute and apply delta (much faster than full refresh)let delta = engine.compute_delta(view_id, &source_tables, view_size).await?;engine.apply_delta(&delta).await?;2. Flexible Refresh Strategies
| Strategy | Use Case | Latency |
|---|---|---|
| Manual | Development, testing | On-demand |
| OnCommit | Real-time requirements | Milliseconds |
| Interval | Regular updates | Seconds to minutes |
| Cron | Scheduled updates | Any schedule |
3. Intelligent Query Rewriting
Automatically substitute materialized views to accelerate queries:
- Exact Match: Query matches view definition
- Join Elimination: View pre-computes expensive joins
- Aggregation Pushdown: View pre-computes aggregations
- Superset Match: View contains query data plus more
- Filter Pushdown: View has beneficial filters
Performance Benefits
| Scenario | Without MV | With MV | Speedup |
|---|---|---|---|
| Complex Join | 500ms | 5ms | 100x |
| Large Aggregation | 2s | 10ms | 200x |
| Dashboard Query | 800ms | 8ms | 100x |
| OLAP Analytics | 5s | 50ms | 100x |
Use Cases
| Use Case | Recommended Strategy | Description |
|---|---|---|
| Real-time Dashboards | OnCommit | Instant updates |
| Daily Reports | Cron (midnight) | Scheduled refresh |
| Session Analytics | Interval (5min) | Near-real-time |
| Historical Analysis | Manual | On-demand refresh |
Related Documentation
- Quick Start Guide - Get started in 5 minutes
- User Guide - Comprehensive documentation
- Troubleshooting - Common issues and solutions
- Implementation Details - Technical reference
API Modules
| Module | Description |
|---|---|
heliosdb_compute::materialized_views | Main module |
heliosdb_compute::materialized_views::incremental | Incremental refresh |
heliosdb_compute::materialized_views::refresh | Refresh management |
heliosdb_compute::materialized_views::rewrite | Query rewriting |
heliosdb_compute::materialized_views::dependencies | Dependency tracking |
See Also: HeliosDB Feature Index