Quick Start
This walkthrough takes about five minutes. At the end, Kifa is ingesting data, responding to queries, and reporting storage statistics.
-
Build from source
Terminal git clone https://github.com/xosnrdev/kifa.gitcd kifacargo cbSee Installation for pre-built binaries and system packages.
-
Ingest a transaction
Pipe a JSON transaction into the ingester via stdin:
Terminal echo '{"txn":"TXN-001","amount":5000,"status":"completed"}' | \./target/release/kifa ingest --stdin -d ./dataKifa writes the entry to the write-ahead log and fsyncs it to disk. The process exits after stdin closes.
-
Query the stored entry
Terminal ./target/release/kifa query -d ./dataOutput 2026-01-31 18:30:00 UTC {"txn":"TXN-001","amount":5000,"status":"completed"}Each entry is ordered by a monotonically increasing nanosecond timestamp.
-
Check statistics
Terminal ./target/release/kifa stats -d ./dataOutput Storage:Total entries: 1SSTables: 0Memtable: 1 entriesWAL:Flush mode: CautiousHealth:Time range: 2026-01-31 18:30:00 UTC - 2026-01-31 18:30:00 UTC
Next Steps
Section titled “Next Steps” Ingestion Ingest from files, TCP, or UDP.
Choosing a Flush Mode Trade off durability and throughput.
Configuration TOML, environment variables, and CLI flags.
Deployment Systemd, signals, and production hardening.