Expand description
Core traits and types for the Rhei HTAP engine.
rhei-core is the foundation crate of the Rhei workspace. Every other
crate depends on it for shared abstractions. It deliberately has no
dependencies on concrete database drivers so that it can be compiled
quickly and used as a pure trait/type boundary.
§Position in the HTAP pipeline
Client
|
v
HtapEngine (crates/rhei)
|-- QueryRouter ──────────────────── routes SQL to OLTP or OLAP
|-- OltpEngine ──────────────────── transactional reads/writes
|-- OlapEngine ──────────────────── analytical queries
|-- CdcConsumer ──────────────────── polls change-data-capture events
+-- SyncEngine ──────────────────── applies CDC events to OLAP§Key types
| Item | Description |
|---|---|
OltpEngine | Async trait for transactional SQL execution |
OlapEngine | Async trait for analytical SQL + Arrow bulk-load |
CdcConsumer | Async trait for polling CDC events |
SyncEngine | Async trait for the CDC→OLAP sync loop |
QueryRouter | Sync trait that classifies SQL to QueryTarget |
SchemaRegistry | Thread-safe registry of TableSchemas |
CdcEvent | A single change-data-capture event |
SyncMode | Destructive mirror vs. SCD Type 2 temporal history |
RecordBatchBoxStream | Streaming Arrow record-batch type |
Re-exports§
pub use error::CoreError;pub use schema::validate_identifier;pub use schema::SchemaRegistry;pub use schema::TableSchema;pub use traits::cdc::CdcConsumer;pub use traits::olap::vec_to_stream;pub use traits::olap::OlapEngine;pub use traits::olap::RecordBatchBoxStream;pub use traits::oltp::OltpEngine;pub use traits::router::QueryRouter;pub use traits::sync::SyncEngine;pub use types::*;