kimberlite 0.4.0

Kimberlite - Compliance-native database for regulated industries
Documentation

Kimberlite

Compliance-native database for regulated industries.

Kimberlite is built on a replicated append-only log with deterministic projection to a custom storage engine. This provides:

  • Correctness by design - Ordered log → deterministic apply → snapshot
  • Full audit trail - Every mutation is captured in the immutable log
  • Point-in-time recovery - Replay from any offset
  • Compliance by construction - Built-in durability and encryption

Architecture

┌─────────────────────────────────────────────────────────────┐
│                          Kimberlite                             │
│  ┌─────────┐   ┌───────────┐   ┌──────────┐   ┌──────────┐ │
│  │   Log   │ → │  Kernel   │ → │  Store   │ → │  Query   │ │
│  │(append) │   │(pure FSM) │   │(B+tree)  │   │  (SQL)   │ │
│  └─────────┘   └───────────┘   └──────────┘   └──────────┘ │
└─────────────────────────────────────────────────────────────┘

Quick Start

use kimberlite::{Kimberlite, TenantId, DataClass};

// Open database
let db = Kimberlite::open("./data")?;

// Get tenant handle
let tenant = db.tenant(TenantId::new(1));

// Create a stream
let stream_id = tenant.create_stream("events", DataClass::NonPHI)?;

// Append events
tenant.append(stream_id, vec![b"event1".to_vec(), b"event2".to_vec()])?;

// Query (point-in-time support)
let results = tenant.query("SELECT * FROM events LIMIT 10", &[])?;

Modules

  • SDK Layer: [Kimberlite], [TenantHandle] - Main API
  • Foundation: Types, crypto, storage primitives
  • Query: SQL subset for compliance lookups