All Research Tracks
R08 · Web-Native & Modern Applications

Incremental View Maintenance via Dependency Graphs

SkeinDB's CDC system tracks dependencies for invalidation signals. The natural extension is computing incremental deltas for materialized views rather than just signaling "invalidated." The existing dependency graph provides a foundation for efficient incremental maintenance — unifying caching, CDC, and materialized views into a single framework.

Research Proposal — Mapped to backlog in docs/RESEARCH_BACKLOG.md

🔬 What's Novel

🔧 Technical Approach

Phase 1 — Delta Derivation

Automatic delta query derivation from view definitions. For a view V = Q(R), derive dV = dQ(R, dR) to compute incremental updates without full recomputation.

Phase 2 — Dependency Graph Extension

Extend dependency tracking to represent view-base-table relationships. Traverse the graph on data changes to identify affected views and their required delta queries.

Phase 3 — Cost-Based Switching

Cost model choosing between incremental maintenance and full recomputation based on delta size, view complexity, and staleness tolerance. Dynamic switching at runtime.

Phase 4 — Cascading Updates

Views defined on other views: topological ordering of the dependency graph, delta propagation through multiple levels, and batch optimization for cascading updates.

🧪 Hypotheses

H1

Dependency tracking can be extended to compute delta queries for incremental view maintenance with bounded overhead.

H2

For common view patterns, incremental maintenance is cheaper than recomputation when update batches are small relative to view size.

H3

The dependency graph can identify cascading view updates and batch them efficiently for multi-level view hierarchies.

🔗 SkeinDB Integration

Dependency Tracking
CDC Changefeed
SkeinQL RPC
ETag Validators
ValueID Store

📚 Key References