Skip to main content

Module engine

Module engine 

Source
Expand description

DataFusion-backed OLAP engine.

Uses Apache DataFusion as the query engine with pluggable storage:

  • InMemory: Vec<RecordBatch> in a HashMap (default, lost on shutdown)
  • Vortex local: .vortex files per table in a local directory
  • Vortex S3: .vortex objects in an S3-compatible bucket (requires cloud-storage feature)

§DML Strategy

DataFusion’s MemTable does not support INSERT/UPDATE/DELETE DML natively. For InMemory mode, we maintain a HashMap<String, TableData> and re-register a fresh MemTable after each mutation.

For Vortex mode, DataFusion writes directly through the VortexFormatFactory sink: INSERT uses ctx.sql("INSERT INTO ..."), UPDATE/DELETE use a read-modify-write cycle (read all → mutate → truncate directory → re-insert).

Structs§

DataFusionEngine
DataFusion-backed OLAP engine.
SharedDataFusionEngine
A cheaply-cloneable, Arc-wrapped DataFusionEngine that implements rhei_core::OlapEngine.