llkv-runtime 0.3.5-alpha

Execution runtime for the LLKV toolkit.
Documentation

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-sql to execute complete SQL statements.

  • Executor: Low-level query evaluation engine that only handles SELECT queries. It takes a SELECT plan and produces streaming Arrow RecordBatch results. 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-transaction for snapshot isolation and visibility filtering.
  • Delegates SELECT query evaluation to llkv-executor while handling transaction context.

License

Licensed under the Apache-2.0 License.