Architecture Overview
KalamDB combines SQL execution, realtime delivery, and multi-tier storage in one runtime.
It also supports vector search with EMBEDDING(n) columns, cosine indexes, and similarity ranking in SQL for semantic retrieval workflows.
Use this page as the map. The deeper architecture pages explain one boundary at a time: /docs/server/architecture/table-types, /docs/server/architecture/storage-tiers, /docs/server/architecture/stream-storage, /docs/server/architecture/manifests, /docs/server/architecture/live-query, /docs/server/architecture/clustering, /docs/server/architecture/datatypes, /docs/server/architecture/vector-search, and /docs/server/architecture/file-upload-datatype.
Major Runtime Layers
kalamdb-api: HTTP + WebSocket surface (/v1/api/*,/v1/ws)kalamdb-core: orchestration, SQL execution flow, authorization checks, job dispatchkalamdb-sql: SQL parser/classifier/extensions (SUBSCRIBE,TOPIC,STORAGE,EXECUTE AS '<user_id>', etc.)kalamdb-store+ RocksDB: hot write/read pathkalamdb-filestore+ Parquet: cold segments and manifestskalamdb-raft: cluster consensus and replication
Runtime Flow
Architecture Reading Map
Read /docs/server/architecture/table-types first when you
are deciding data ownership or security. Read
/docs/server/architecture/storage-tiers and
/docs/server/architecture/manifests when you are tuning
flush, compaction, or storage templates. Read
/docs/server/architecture/stream-storage when you are
tuning STREAM table retention, transient UI state, or TTL cleanup behavior. Read
/docs/server/architecture/live-query and
/docs/server/architecture/clustering when you are scaling
realtime connections or multi-node deployments.
Data Directory Layout
Default paths are rooted at storage.data_path (usually ./data):
Table-specific cold paths are generated from templates:
- shared tables:
storage.shared_tables_template - user tables:
storage.user_tables_template
Query Path (Simplified)
- API receives SQL (
POST /v1/api/sql) with bearer auth. - SQL is parsed/classified (standard + KalamDB extensions).
- Authorization and table-type rules are applied.
- Query executes against hot tier, cold tier, or both.
- Response returns normalized JSON schema/rows.
- Optional change notifications flow to subscriptions/topics.
For detailed flush behavior and cold-tier movement, see
/docs/server/architecture/storage-tiers.
For the file-backed STREAM table path, see
/docs/server/architecture/stream-storage.
Technology Stack
| Component | Technology | Notes |
|---|---|---|
| Language | Rust 1.92+ | concurrency + memory safety |
| Query engine | Apache DataFusion 52.x | SQL planning/execution |
| Columnar format | Apache Arrow 57.x | in-memory batches |
| Cold storage | Apache Parquet 57.x | compressed columnar files |
| Hot storage | RocksDB 0.24 | write-heavy low-latency path |
| API runtime | Actix Web 4.12 | HTTP + WebSocket |
| Auth | bcrypt + JWT | password + token flows |
Continue Reading
- /docs/server/architecture/table-types
- /docs/server/architecture/storage-tiers
- /docs/server/architecture/stream-storage
- /docs/server/architecture/manifests
- /docs/server/architecture/live-query
- /docs/server/architecture/clustering
- /docs/server/architecture/datatypes
- /docs/server/architecture/vector-search
- /docs/server/architecture/file-upload-datatype