Skip to content

Phase 3 Compatibility Summary

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%

CategoryStatusNotes
SQL Syntax95% CompatibleMinor alignment needed
Data Migration100% CompatibleExport/import preserves all features
API Compatibility⚠ 85% Compatible2 features need standardization
Performance100% CompatibleSame or better in Full

Feature Compatibility Matrix

#FeatureLite Phase 3FullCompatibilityAction Required
1Incremental MVsPlannedExists⚠ 85%Align CPU throttling API
2PITR + Time-Travel + BranchingPlannedExists⚠ 90%Add SQL syntax wrapper to Full
3Product QuantizationPlanned❌ Missing100%Implement in Full first
4Adaptive Compression (FSST/ALP)Planned⚠ Partial⚠ 80%Add FSST/ALP to Full
5Vectorized ExecutionPlanned❌ Missing100%New feature, no conflict
6Hybrid Row-Column StoragePlanned⚠ Partial⚠ 85%Enhance Full with tiering
7Data DeduplicationPlanned❌ Missing100%New feature, no conflict
8Time-Series OptimizationsPlanned❌ Missing100%New feature, no conflict
9BM25 FTSPlannedExists100%Fully compatible
10Adaptive IndexingPlannedExists100%Fully compatible
11JSON SchemaPlanned❌ Missing100%New feature, no conflict
12Query CachePlannedExists100%Fully compatible
13Flux SQL ModePlanned❌ Missing100%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

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

Import to Full

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

Automatic Conversions

FeatureLiteFullPreserved?
Materialized ViewsLocal + CPU limitsDistributed + CPU budgetsYes
BranchesLocal COWDistributed COWYes
Vector IndexesLocal HNSW + PQSharded HNSW + PQYes
CompressionFSST/ALP/ZSTDML-selected (includes FSST/ALP)Yes
DeduplicationLocal content storeDistributed content storeYes
Time-SeriesLocal partitionsDistributed partitionsYes

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

Terminal window
# 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

Terminal window
# 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

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

Risk Mitigation

RiskLikelihoodImpactMitigation
CPU API incompatibilityMediumHighStandardize before Phase 3
Branch SQL missing in FullHighHighImplement SQL wrapper Week 1
FSST/ALP compression lossMediumMediumAdd to Full Week 5-6
Migration data lossLowCriticalComprehensive testing
Performance regressionLowHighContinuous 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