LLKV Runtime
Work in Progress
llkv-runtime is an orchestrator for llkv-table and provides the execution runtime for the LLKV toolkit.
Purpose
- Coordinate between the transaction layer, storage layer, and query executor.
- Execute SQL operations (CREATE TABLE, INSERT, UPDATE, DELETE, SELECT) with full transaction support.
- Manage MVCC metadata injection for all data modifications.
- Provide session-level transaction management (auto-commit and multi-statement transactions).
Runtime vs Executor
The runtime (llkv-runtime) and executor (llkv-executor) serve different purposes:
-
Runtime: High-level orchestration layer that handles all SQL operations, manages transactions, injects MVCC metadata, and coordinates between storage and execution layers. Used by
llkv-sqlto execute complete SQL statements. -
Executor: Low-level query evaluation engine that only handles SELECT queries. It takes a SELECT plan and produces streaming Arrow
RecordBatchresults. The executor is invoked by the runtime for SELECT operations but knows nothing about transactions, MVCC metadata, or other SQL operations.
In short: Runtime = Full SQL coordinator | Executor = SELECT-only query engine
Design Notes
- The runtime automatically injects MVCC columns (
row_id,created_by,deleted_by) for all data operations. - Supports both auto-commit (single-statement) and explicit BEGIN/COMMIT/ROLLBACK transactions.
- Integrates with
llkv-transactionfor snapshot isolation and visibility filtering. - Delegates SELECT query evaluation to
llkv-executorwhile handling transaction context.
License
Licensed under the Apache-2.0 License.