High-throughput Sovereign NVMe Storage, Large Payload Chunks, Dual Embedded/gRPC Daemon, Zero-Cgo
137
Aarkam Kdouja is the high-performance autonomous storage engine of the Aarkam Sovereign Data Fabric. Operating directly on bare-metal NVMe drives and containerized enterprise substrates, Kdouja delivers sub-millisecond point lookups, zero-allocation LSM memory structures, hardware-level Direct I/O block allocation, and native AES-256 Write-Ahead Log (WAL) durability across sovereign cloud environments.
Kdouja serves as the foundational storage substrate for:
kdoujad) with dedicated inspection tooling (kdouja-cli).Engineered strictly for zero-egress, air-gapped sovereign datacenters, Kdouja operates with complete autonomy—requiring zero external database dependencies (no Redis, no ZooKeeper), zero third-party internet callbacks, and zero native C++ redistributable packages.
docker pull aarkam/aarkam.kdouja:latest
# or explicit version
docker pull aarkam/aarkam.kdouja:v1.0.1
kdoujad)Run Kdouja as an autonomous background daemon exposing high-throughput gRPC services (KeyValueService and StorageService) on port 57771:
docker run -d \
--name kdouja-server \
-p 57771:57771 \
-v kdouja_data:/var/lib/kdouja \
-e KDOUJA_BASE_DIRECTORY="/var/lib/kdouja" \
-e KDOUJA_MEMTABLE_FLUSH_MB="32" \
-e KDOUJA_ENABLE_DIRECT_IO="false" \
aarkam/aarkam.kdouja:v1.0.1
Check server health:
curl http://localhost:57771/healthz
kdouja-cli)Use the bundled kdouja-cli tool to query keys, inspect SSTables, view WAF/RAF metrics, and trigger compactions:
# Display engine diagnostics in structured JSON
docker run --rm \
-v kdouja_data:/var/lib/kdouja \
aarkam/aarkam.kdouja kdouja-cli info --dir /var/lib/kdouja --json
# Store a key-value record
docker run --rm \
-v kdouja_data:/var/lib/kdouja \
aarkam/aarkam.kdouja kdouja-cli kv put "config:mode" "sovereign" --dir /var/lib/kdouja --json
# Read a record in table format
docker run --rm \
-v kdouja_data:/var/lib/kdouja \
aarkam/aarkam.kdouja kdouja-cli kv get "config:mode" --dir /var/lib/kdouja --table
# Trigger manual SSTable compaction pass
docker run --rm \
-v kdouja_data:/var/lib/kdouja \
aarkam/aarkam.kdouja kdouja-cli compact --dir /var/lib/kdouja --json
| Metric / Capability | Aarkam Kdouja | RocksDB (Meta) | Pebble (CockroachDB) | BadgerDB (Dgraph) |
|---|---|---|---|---|
| Architecture | Hybrid LSM + Direct-I/O PageStore | Pure LSM-Tree | Pure LSM-Tree | LSM + Value Log (WiscKey) |
| Kernel Cache Bypassing | Yes (O_DIRECT / Unbuffered) | Complex manual setup | No (OS Page Cache) | No (OS Page Cache) |
| Write Amplification (WAF) | Low (1.2–3.5x on payloads) | High (10–30x) | High (10–25x) | Low (2–4x) |
| Built-in Daemon | Native gRPC (kdoujad) | None (Library only) | None (Library only) | None (Library only) |
| Runtime Dependencies | Zero (.NET 8/10 Managed) | C++17 runtime libs | Go runtime | Go runtime |
| Hardware Encryption | Native AES-256 WAL | Custom plugin required | None | Native AES-256 |
| Variable | Default | Description |
|---|---|---|
KDOUJA_BASE_DIRECTORY | /var/lib/kdouja | Path to persistent database directory |
KDOUJA_MEMTABLE_FLUSH_MB | 32 | Size threshold in MB to flush MemTable to L0 SSTable |
KDOUJA_MAX_L0_FILES | 4 | Number of L0 SSTables before triggering compaction |
KDOUJA_ENABLE_DIRECT_IO | false | Enable unbuffered Direct I/O (O_DIRECT) on Linux |
KDOUJA_PAGE_SIZE | 4096 | Direct I/O page allocation size in bytes (4KB) |
KDOUJA_ENABLE_WAL_FSYNC | true | Force hardware fsync barrier on every commit |
KDOUJA_WAL_KEY | (Auto-generated) | 64-character hex AES-256 key for WAL at-rest encryption |
DOTNET_CLI_TELEMETRY_OPTOUT | 1 | Disables telemetry for hardened air-gapped environments |
| Mount Path | Description | Recommended Usage |
|---|---|---|
/var/lib/kdouja | Database data directory (SSTables, WAL, PageStore) | Mount high-speed NVMe block volume |
/etc/kdouja | Static configuration overrides | Mount custom appsettings.json |
version: '3.8'
services:
kdouja:
image: aarkam/aarkam.kdouja:v1.0.1
container_name: aarkam-kdouja
restart: unless-stopped
ports:
- "57771:57771"
environment:
- KDOUJA_BASE_DIRECTORY=/var/lib/kdouja
- KDOUJA_MEMTABLE_FLUSH_MB=64
- KDOUJA_ENABLE_WAL_FSYNC=true
- KDOUJA_ENABLE_DIRECT_IO=false
volumes:
- ./kdouja_data:/var/lib/kdouja
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:57771/healthz"]
interval: 10s
timeout: 3s
retries: 3
Content type
Image
Digest
sha256:0faba8e5f…
Size
98.7 MB
Last updated
1 day ago
docker pull aarkam/aarkam.kdouja