ProductDocsArchitectureBlogGitHubGitHubGet Started
Available

Introduction

Krishiv — one engine for batch SQL, streaming pipelines, and incremental processing.

What is Krishiv?

Krishiv is a Rust-native compute framework that unifies batch SQL, streaming pipelines, and incremental view maintenance under a single execution model. It uses Apache Arrow RecordBatch as the internal columnar data model and DataFusion for SQL parsing, planning, expressions, and local execution.

The same session, plan, and scheduler/executor runtime works across embedded (in-process), single-node daemon, and distributed cluster deployments.

Key Properties

  • Unified execution: batch and streaming share Arrow batches, planning, runtime routing, and scheduler/executor boundaries.
  • Rust-native: Rust 2024 + Tokio; typed IDs, typed plans, typed errors, explicit durability profiles.
  • Three interfaces: SQL, Rust API (krishiv-api), Python bindings (krishiv-python via PyO3).
  • Iceberg-first lakehouse: Apache Iceberg is the primary certified lakehouse platform.
  • Incremental processing: DeltaBatch (weighted Arrow rows) and IncrementalFlow for incremental view maintenance.

Architecture at a Glance

SQL / Rust API / Python API
  └─ Session + catalog
     └─ DataFusion + Krishiv plan + optimizer
        └─ ExecutionRuntime
              Embedded          → in-process
              SingleNode        → local Flight/gRPC daemon
              Distributed       → remote Flight/gRPC cluster
           └─ Coordinator
              └─ ExecutorTaskRunner
                 └─ Arrow/DataFusion ops, shuffle, state, checkpoints, connectors

Workspace Crate Map

CrateResponsibility
krishivUser-facing facade and CLI binary.
krishiv-apiSession, DataFrame, Stream, IncrementalFlow, and all public Rust API types.
krishiv-sqlDataFusion integration, SQL execution, catalog and table-provider abstractions.
krishiv-planLogical/physical plans, expression AST, UDF contracts, governance/policy, CEP.
krishiv-runtimeEmbedded, single-node, and remote runtime routing.
krishiv-dataflowArrow operator runtime, queues, barriers, windows, joins, stateful ops.
krishiv-schedulerCoordinator, job/task lifecycle, metadata stores, leadership, gRPC server.
krishiv-executorExecutor process, task runner, shuffle/checkpoint hooks.
krishiv-stateIn-memory and RocksDB-backed keyed state, TTL, migration, checkpoint/savepoint.
krishiv-connectorsSource/sink contracts, Parquet/Kafka/S3 paths, Iceberg-first lakehouse helpers.
krishiv-pythonPyO3 Python bindings.
krishiv-shuffleIn-memory, local disk, object-store, and Flight-oriented shuffle support.