Skip to content

SnapDB v0.5.0 — Delta Encoding & Dictionary Encoding

Choose a tag to compare

@hussain-alsaibai hussain-alsaibai released this 28 Jun 04:49
· 27 commits to main since this release

SnapDB v0.5.0 — Delta Encoding for Monotonic Columns

What's New

🚀 Delta Encoding (Issue #1)

  • Transparent delta encoding for monotonic numeric columns (timestamps, IDs, sequences)
  • 1.2× memory reduction for i64 timestamps on 100K rows (2.29 MB → 1.91 MB)
  • Auto-detects monotonicity after 50-sample warmup
  • Auto-fallback to raw storage if non-monotonic data detected
  • Auto-upgrades delta typecode if deltas overflow current width
  • Per-column control: delta_columns=["timestamp", "seq"]

📊 Memory Efficiency Stack (Combined)

Feature Reduction Version
Bit-packed booleans ~8× v0.3.2
Dictionary encoding v0.4.0
Delta encoding 1.2× v0.5.0

Full Changelog

  • ce89679 docs: update README with delta encoding v0.5.0
  • 46636a3 feat: delta encoding for monotonic numeric columns (#1)
  • 13340d7 docs: update README with dictionary encoding v0.4.0
  • 7a9087d feat: dictionary encoding for low-cardinality string columns (#2)

Roadmap

  • #3 Frame-of-Reference + bit packing
  • #4 Vectorized bitmask predicates
  • #5 sys.monitoring profiling
  • #6 Auto-indexing
  • #7 buffer protocol