Ochi is a cost-effective, Loki compatible database for logs.
The build will automatically resolve dependencies listed in build.zig.zon.
zig buildThis produces the Ochi executable in zig-out/bin/.
By default Ochi looks for ochi.yaml in the current directory.
zig build runSpecify a custom config file:
TODO: For some reason this doesn't work.
zig build run -- -c ./my-ochi.yamlExample ochi.yaml:
server:
port: 9012
app:
maxRequestSize: 4194304 # 4MBNice to have:
- Design landing page
- Drop a couple blog posts in there on:
- why static allocation is not the best
- write logs effectively
- key value store for a logging database
- storing index for logs
- object storage complexity
- extract structs from store/inmem/block_header.zig
- move data.zig to data/Data.zig
- separate data and data/MemTable packages
- separate index and index/Memtable packages
- index
- index table
- writer
- mem block
- mem table
- meta index
- table header
- meta index record
- block writer
- columns header index
- stream writer
- table header
- mem table
- data
