Repository navigation
Understanding .snout Files
A .snout file is SnoutDB's native binary representation of a typed table. It
stores column names, types, null values, metadata, and column data together.
- Avoid repeatedly parsing CSV, JSONL, or logs.
- Preserve inferred types and nullable columns.
- Store values in a column-oriented layout.
- Compress repeated strings with dictionary encoding when beneficial.
- Reuse data for queries, transformations, merges, compaction, and rollups.
- Open the same data through the C ABI.
./snout csv-import calls.csv calls.snout
./snout info calls.snout
./snout stats calls.snout jitter_ms
./snout -f calls.snout group=region -- p95=jitter_ms count=rowsFiles are versioned and divided into chunks of up to 65,536 rows. Each column chunk records:
- encoding type;
- null count and null mask;
- typed payload;
- numeric minimum and maximum values.
Current encodings are Plain and Dictionary. The current writer produces
format v2 and the reader retains v1 compatibility.
Use the original text format for one-off inspection or interchange with other
tools. .snout is an application format, not a universal exchange standard.
Keep original source data when provenance, interoperability, or independent reprocessing matters.
SnoutDB is pre-v1.0.0; preserve important raw data and review release notes
before upgrading persisted workflows.
Canonical format documentation: RFC-0002 and storage architecture.