Module optimizer_integration

Module optimizer_integration 

Source
Expand description

Query Optimizer Integration (Task 10)

Wires the QueryOptimizer into the SOCH-QL execution path for cost-based planning:

  • Converts SOCH-QL WHERE clauses to optimizer predicates
  • Uses cardinality hints from HyperLogLog sketches
  • Selects optimal index based on selectivity estimates

§Integration Flow

SOCH-QL Query
    │
    ▼
┌─────────────────┐
│ Parse & Validate│
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ Extract         │
│ Predicates      │ ← WHERE clause → QueryPredicate[]
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ QueryOptimizer  │
│ .plan_query()   │ ← Cost-based index selection
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ Execute Plan    │
└─────────────────┘

§Task 11: HyperLogLog Integration for Real-Time Cardinality

The CardinalityTracker maintains HyperLogLog sketches per column for real-time cardinality estimation with <1% standard error.

On INSERT:
  tracker.observe("column_name", value)  // O(1) HLL update

On SELECT planning:
  cardinality = tracker.estimate("column_name")  // O(1) estimate

Math:
  Standard error = 1.04 / sqrt(m) where m = 2^precision
  For precision=14: SE = 0.81%, memory = 16KB per column

Structs§

AdaptiveCacheStats
Enhanced cache statistics
CacheStats
Cache statistics
CardinalityEstimate
Cardinality estimate with confidence
CardinalityTracker
Real-time cardinality tracker using HyperLogLog sketches
CardinalityTrackerStats
Statistics for cardinality tracker
ExecutionPlan
Execution plan with ordered steps
OptimizedExecutor
Optimized query executor with cost-based planning
OptimizedQueryPlan
Optimized query plan with cost estimates
PlanCache
Query plan cache for repeated queries
TableStats
Statistics for a table

Enums§

ExecutionStep
Single execution step

Traits§

StorageBackend
Storage backend trait for executing optimized query plans