Skip to content

Phase 3 Compatibility Summary

Status: ✅ HIGHLY COMPATIBLE WITH HELIOSDB FULL Created: November 15, 2025 Full Analysis: See PHASE3_HELIOSDB_FULL_COMPATIBILITY_ANALYSIS.md


Quick Assessment

Overall Compatibility: 92% ✅

Category Status Notes
SQL Syntax ✅ 95% Compatible Minor alignment needed
Data Migration ✅ 100% Compatible Export/import preserves all features
API Compatibility ⚠️ 85% Compatible 2 features need standardization
Performance ✅ 100% Compatible Same or better in Full

Feature Compatibility Matrix

# Feature Lite Phase 3 Full Compatibility Action Required
1 Incremental MVs ✅ Planned ✅ Exists ⚠️ 85% Align CPU throttling API
2 PITR + Time-Travel + Branching ✅ Planned ✅ Exists ⚠️ 90% Add SQL syntax wrapper to Full
3 Product Quantization ✅ Planned ❌ Missing ✅ 100% Implement in Full first
4 Adaptive Compression (FSST/ALP) ✅ Planned ⚠️ Partial ⚠️ 80% Add FSST/ALP to Full
5 Vectorized Execution ✅ Planned ❌ Missing ✅ 100% New feature, no conflict
6 Hybrid Row-Column Storage ✅ Planned ⚠️ Partial ⚠️ 85% Enhance Full with tiering
7 Data Deduplication ✅ Planned ❌ Missing ✅ 100% New feature, no conflict
8 Time-Series Optimizations ✅ Planned ❌ Missing ✅ 100% New feature, no conflict
9 BM25 FTS ✅ Planned ✅ Exists ✅ 100% Fully compatible
10 Adaptive Indexing ✅ Planned ✅ Exists ✅ 100% Fully compatible
11 JSON Schema ✅ Planned ❌ Missing ✅ 100% New feature, no conflict
12 Query Cache ✅ Planned ✅ Exists ✅ 100% Fully compatible
13 Flux SQL Mode ✅ Planned ❌ Missing ✅ 100% New feature, no conflict

Legend: - ✅ Fully compatible (no action needed) - ⚠️ Requires alignment (specific action needed) - ❌ Missing in Full (new feature)


Critical Compatibility Issues

🔴 High Priority (Fix Before Phase 3 Starts)

1. Incremental MV CPU Throttling API Alignment

Issue: Lite uses explicit CPU limits (15%), Full uses implicit overhead (<5%) Impact: Migration might not preserve CPU budget expectations Action: Standardize CPU configuration API Timeline: Week 1 of Phase 3 Owner: Architecture team

Solution:

pub struct MaterializedViewConfig {
    // Shared
    pub auto_refresh: bool,
    pub max_cpu_percent: f32,  // NEW: Add to Full

    // Full-specific (optional)
    pub enable_ml_optimization: bool,
}

2. Branching SQL Syntax Not in Full

Issue: Lite Phase 3 adds SQL syntax (CREATE DATABASE BRANCH), Full only has Rust API Impact: Users expect same SQL in Full Action: Implement SQL wrapper for Full's branching API Timeline: Week 1 of Phase 3 Owner: SQL team

Solution:

-- Must work in both Lite and Full
CREATE DATABASE BRANCH test FROM CURRENT AS OF TIMESTAMP '...';
SELECT * FROM pg_database_branches();

🟡 Medium Priority (Address During Phase 3)

3. FSST/ALP Compression Algorithms

Issue: Lite Phase 3 adds DuckDB algorithms (FSST, ALP), Full doesn't have them Impact: Migration loses compression advantages Action: Implement FSST/ALP in Full Timeline: Week 5-6 of Phase 3 Owner: Storage team

4. Hybrid Storage Tiering

Issue: Lite adds automatic hot/cold tiering, Full only has compression Impact: Full can't preserve tier assignments Action: Design distributed tiering for Full Timeline: Week 3-4 of Phase 3 Owner: Storage team

🟢 Low Priority (Manageable)

5. Product Quantization

Issue: New feature in both systems Impact: None (new feature) Action: Implement in Full first, backport to Lite Timeline: Week 13-14 of Phase 3

6. Deduplication

Issue: New feature in both systems Impact: None (new feature) Action: Shared implementation Timeline: Week 25-26 of Phase 3


Migration Path Validation

Export from Lite

heliosdb-lite export \
  --database ./mydb \
  --output mydb.dump \
  --include-mvs \
  --include-branches \
  --include-config \
  --format v2

Import to Full

heliosdb-full import \
  --input mydb.dump \
  --cluster my-cluster \
  --migrate-lite-features \
  --replication-factor 3

Automatic Conversions

Feature Lite Full Preserved?
Materialized Views Local + CPU limits Distributed + CPU budgets ✅ Yes
Branches Local COW Distributed COW ✅ Yes
Vector Indexes Local HNSW + PQ Sharded HNSW + PQ ✅ Yes
Compression FSST/ALP/ZSTD ML-selected (includes FSST/ALP) ✅ Yes
Deduplication Local content store Distributed content store ✅ Yes
Time-Series Local partitions Distributed partitions ✅ Yes

Result: ✅ 100% of data and features preserved


Action Items by Week

Week 0 (Before Phase 3)

  • [ ] ✅ Standardize CPU throttling API for MVs
  • [ ] ✅ Implement SQL syntax wrapper for Full branching
  • [ ] ✅ Define migration format v2
  • [ ] ✅ Create compatibility test suite

Week 1-2 (Phase 3A: Foundation)

  • [ ] Implement vectorized execution in Lite
  • [ ] Test migration of vectorized queries
  • [ ] Ensure query plan compatibility

Week 3-4 (Phase 3A: Storage)

  • [ ] Implement hybrid storage in Lite
  • [ ] Design distributed tiering for Full
  • [ ] Test tier migration

Week 5-6 (Phase 3A: Compression)

  • [ ] Implement FSST/ALP in Lite
  • [ ] Add FSST/ALP to Full's compression suite
  • [ ] Train Full's ML model on new algorithms
  • [ ] Test compression migration

Week 13-14 (Phase 3B: Vector)

  • [ ] Implement PQ in Full first
  • [ ] Backport PQ to Lite
  • [ ] Test vector index migration

Week 15-16 (Phase 3B: MVs)

  • [ ] Implement incremental MVs in Lite
  • [ ] Test MV migration to Full
  • [ ] Validate CPU budgets preserved

Week 19-21 (Phase 3C: PITR/Branching)

  • [ ] Implement time-travel SQL in Lite
  • [ ] Add SQL wrapper to Full
  • [ ] Test branch migration
  • [ ] Validate flashback queries

Week 25-26 (Phase 3C: Deduplication)

  • [ ] Implement deduplication in Lite
  • [ ] Design distributed dedup for Full
  • [ ] Test dedup map migration

CPU Budget Management

-- Shared configuration (works in both Lite and Full)
SET max_cpu_background = 15;  -- Total background CPU %
SET incremental_mv_cpu = 10;  -- Max for MV updates
SET adaptive_indexing_cpu = 2; -- Max for index advisor
SET deduplication_cpu = 3;     -- Max for dedup analysis

Hybrid Storage

-- Shared configuration
SET hybrid_storage = auto;
SET hybrid_storage_hot_threshold = '7 days';
SET hybrid_storage_cold_threshold = '30 days';

-- Full-specific (optional)
SET hybrid_storage_replication_factor = 3;

Branching

-- Shared SQL syntax
CREATE DATABASE BRANCH staging FROM CURRENT AS OF NOW;
SELECT * FROM pg_database_branches();
MERGE DATABASE BRANCH staging INTO main;
DROP DATABASE BRANCH staging;
-- Shared index creation
CREATE INDEX vec_idx ON docs USING hnsw (embedding vector_cosine_ops)
WITH (
    quantization = 'product',
    pq_subquantizers = 8,
    pq_centroids = 256
);

Testing Strategy

Compatibility Test Suite

Test 1: SQL Syntax Compatibility

-- Run in both Lite and Full, expect identical results
CREATE MATERIALIZED VIEW test_mv AS SELECT * FROM orders WITH (auto_refresh = true);
CREATE DATABASE BRANCH test_branch FROM CURRENT AS OF NOW;
CREATE INDEX test_vec ON docs USING hnsw (embedding vector_cosine_ops);

Test 2: Migration Round-Trip

# Lite → Full → Export → Lite
heliosdb-lite export --all lite.dump
heliosdb-full import lite.dump
heliosdb-full export --database mydb full.dump
diff lite.dump full.dump  # Should match (modulo distributed metadata)

Test 3: Performance Parity

# Same query, Lite vs Full, expect Full ≥ Lite performance
pgbench -f test_queries.sql -T 60 heliosdb-lite
pgbench -f test_queries.sql -T 60 heliosdb-full

Test 4: Feature Preservation

# Migrate and verify all features work
heliosdb-full verify-migration \
  --original lite.dump \
  --check-mvs \
  --check-branches \
  --check-indexes \
  --check-compression

Risk Mitigation

Risk Likelihood Impact Mitigation
CPU API incompatibility Medium High Standardize before Phase 3
Branch SQL missing in Full High High Implement SQL wrapper Week 1
FSST/ALP compression loss Medium Medium Add to Full Week 5-6
Migration data loss Low Critical Comprehensive testing
Performance regression Low High Continuous benchmarking

Success Criteria

✅ Phase 3 is compatible with Full if:

  1. SQL Compatibility: 100% of Lite SQL works in Full
  2. Migration Success: 100% of features migrate without loss
  3. Performance: Full performance ≥ Lite performance
  4. API Alignment: All configuration parameters compatible
  5. Testing: All compatibility tests pass

✅ Current Status: 92% Compatible

Blockers: 2 high-priority issues (CPU API, Branch SQL) Timeline: Resolve by Week 1 of Phase 3 Confidence: High (issues are well-understood and solvable)


Approval Recommendation

✅ APPROVED FOR PHASE 3 EXECUTION

With the 2 high-priority issues addressed in Week 0-1, HeliosDB Lite Phase 3 will be fully compatible with HeliosDB Full.

Expected Outcome: - Seamless migration path - Feature parity maintained - Performance improved or maintained - User experience consistent across both systems


Next Steps: 1. Review this compatibility analysis 2. Address high-priority issues (Week 0) 3. Begin Phase 3 implementation (Week 1) 4. Continuous compatibility testing throughout Phase 3

Questions? See full analysis in PHASE3_HELIOSDB_FULL_COMPATIBILITY_ANALYSIS.md