All Research Tracks
R15 Β· Consistency & Distribution

Conflict-Free Schema Evolution

Schema changes are notoriously difficult in distributed databases, often requiring coordinated downtime. SkeinDB's MVCC and dependency tracking could support concurrent schema evolution, where different nodes temporarily operate with different schema versions. The system automatically reconciles when versions merge, similar to how Git handles concurrent file changes.

Research Proposal β€” Mapped to backlog in docs/RESEARCH_BACKLOG.md

πŸ”¬ What's Novel

πŸ”§ Technical Approach

Phase 1 β€” Schema Versioning

Extend MVCC metadata to include schema version. Each row is tagged with the schema version it was written under, enabling multiple schema versions to coexist in storage.

Phase 2 β€” Concurrent Evolution

Protocol where nodes propose schema changes independently. Non-conflicting changes (add column, add index) apply immediately; conflicting changes (incompatible type changes) queue for resolution.

Phase 3 β€” Query Adaptation

Handle schema heterogeneity at query time: detect version mismatch between query expectation and row schema, apply automatic conversion, and fail gracefully for truly incompatible cases.

Phase 4 β€” Merge Protocol

Detect schema divergence across cluster nodes, compute a merged schema that preserves all non-conflicting changes, and propagate the unified schema to all nodes.

πŸ§ͺ Hypotheses

H1

Many schema changes (adding columns, indexes, renaming) can be applied concurrently without conflicts in practice.

H2

MVCC version metadata can track schema version alongside data version without significant storage overhead.

H3

Schema conflicts (incompatible type changes, contradictory constraints) can be reliably detected and reported to administrators.

πŸ”— SkeinDB Integration

MVCC Engine
Cluster Control-Plane
SkeinQL RPC
Dependency Tracking
Schema Manager

πŸ“š Key References