Configuración
Los defaults de NamiDB son razonables para la mayoría de los workloads. Recurrir a estas env vars cuando se está debugueando performance, memoria o correctitud.
Motor
| Env var | Default | Qué hace |
|---|---|---|
NAMIDB_ADJACENCY | on | Cache de CSR adjacency a nivel de proceso, compartido entre snapshots (RFC-018). Poner en off para desactivar. |
NAMIDB_NODE_CACHE | on | Cache de lookups de NodeView entre snapshots (RFC-019). |
NAMIDB_SST_CACHE | on | Body de SST + streams decodificados de propiedades de edges + EdgeSstReader parseado (RFC-020). |
NAMIDB_FACTORIZE | off | Representación intermedia factorizada en el ejecutor (RFC-017). Activar para queries con muchos paths. |
NAMIDB_PROFILE_DUMP | off | Volcar contadores de profile por etapa a stderr después de cada query. |
Presupuestos de cache
| Env var | Default | Notas |
|---|---|---|
NAMIDB_ADJACENCY_BUDGET_MB | 512 | Techo de RAM para el cache CSR. |
NAMIDB_NODE_CACHE_BUDGET_MB | 512 | Techo de RAM para el cache de NodeView. |
NAMIDB_SST_CACHE_BUDGET_MB | 512 | Techo de RAM para el cache SST. |
Para workloads de servidor, subir estos a 2–8 GiB por cache. Para uso embebido dentro de un Lambda o un contenedor chico, reducirlos a la mitad.
namidb-server
| Env var | Default | Qué hace |
|---|---|---|
NAMIDB_STORE | — (requerido) | URI de storage (ej. s3://bucket?ns=prod®ion=us-east-1). |
NAMIDB_LISTEN | 0.0.0.0:8080 | Dirección TCP de bind. |
NAMIDB_AUTH_TOKEN | sin setear (abierto) | Bearer token. Cuando no está seteado, el servidor advierte y acepta todas las requests — no exponerlo sin autenticación a la internet pública. |
NAMIDB_FLUSH_INTERVAL | 30s | Cadencia del flush en background de memtable → L0. 0s desactiva el loop. |
Los flags del CLI espejan las env vars: --store, --listen,
--auth-token, --flush-interval.
Credenciales de cloud / storage
NamiDB lee las env vars estándar de cada cloud:
| Backend | Env vars |
|---|---|
| AWS S3 | AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, AWS_DEFAULT_REGION |
| Cloudflare R2 | Igual que S3 — setear el token de R2 como AWS_* |
| Google Cloud Storage | GOOGLE_APPLICATION_CREDENTIALS (path a la clave JSON) |
| Azure Blob | AZURE_STORAGE_ACCOUNT_NAME, AZURE_STORAGE_ACCESS_KEY |
| MinIO / LocalStack | Igual que S3 — apuntar a endpoint=… en la URI |
Los roles IAM en EC2 / EKS / Lambda / ECS funcionan de forma transparente — no hay auth específica de NamiDB que cablear.
Tracing y logs
NamiDB usa tracing. El env-filter
estándar aplica:
export RUST_LOG=namidb=info,namidb_storage=debugLogs en JSON:
export NAMIDB_LOG_FORMAT=json