i was just checking out the configuration options for #golang #badger key/value store, and hadn't actually looked that close before, but here's some useful facts to understand about how it is implemented:
https://github.com/dgraph-io/badger/blob/main/options.go#L180
it uses mmaped files, the default allocates a 2Gb value log and a ~130Mb key log file
this is different to any other k/v store because these logs are kept separated
also by default it uses 4kb blocks and snappy compression, but this can be cranked up to ZSTD - by the comments though it says that this is now a native Go implementation rather than CGO which it used to be, i presume that the benchmarks are probably somewhere in range even still, and that these figures are per CPU thread
probably can increase those figures, larger blocks and higher compression rates to squeeze a lot more events
been idly thinking a bit about the idea of creating a simple event store that keeps them in a simple table with the ID as key, and then the canonical form, which generates the hash, and the signature bytes afterwards, for implementing a #blossom data store
anyhow, just random thoughts, back to work!
Showing page 1 of
1 pages