Komora (@komora_io) 's Twitter Profile
Komora

@komora_io

shiny database fragments

ID: 1481217258580021250

linkhttps://github.com/komora-io calendar_today12-01-2022 10:52:07

18 Tweet

307 Followers

0 Following

Komora (@komora_io) 's Twitter Profile Photo

Pagetables form the heart of many pieces of foundational infrastructure. This one provides wait-free access to AtomicU64's based on a u64 key. It is 4-levels deep and has a fan-out of 2^16. It is ideal for managing dense metadata in concurrent systems. github.com/komora-io/page…

Komora (@komora_io) 's Twitter Profile Photo

Marble is an object store that maps u64 keys to arbitrary blobs. It performs generational garbage collection and supports simple user-specified object partitioning for grouping similar objects together on-disk. It is an ideal base for embedded KVs & DBs. github.com/komora-io/marb…

Komora (@komora_io) 's Twitter Profile Photo

We know why outages happen in data-intensive systems. Most bugs live in error handling code. Most error handling code is executed for the first time in production. The fault-injection crate allows you to test error handling code before it causes an outage. github.com/komora-io/faul…

Komora (@komora_io) 's Twitter Profile Photo

cache-advisor is a scan-resistant sharded low-memory non-blocking concurrent LRU. It does not store items directly, but tells you when to evict items that you maintain. github.com/komora-io/cach…

Komora (@komora_io) 's Twitter Profile Photo

Marble 14 has been released. It includes several large latency and throughput improvements. Zstd dictionaries can now be generated for each write batch, supporting tunable compression ratios for batches of small objects without harming read latencies. github.com/komora-io/marb…

Komora (@komora_io) 's Twitter Profile Photo

concurrent-map is a lock-free B+ tree supporting high-throughput lexicographic scan operations in the presence of concurrent mutations. It supports custom fan-out and control over memory reclamation granularity to tune for a variety of access patterns. github.com/komora-io/conc…

Komora (@komora_io) 's Twitter Profile Photo

concurrent-map 1.0.14 now supports reverse iteration as well as a variety of useful ordering-based methods: first, last, pop_first, pop_last, get_lt, get_lte, get_gt, get_gte This was implemented as part of integrating the komora projects into sled. github.com/komora-io/conc…

Komora (@komora_io) 's Twitter Profile Photo

concurrent-map 5.0.20 improves single-threaded insertion performance by around 400% - something that is only possible due to the intentional avoidance of Sync in concurrent Rust. It is now MIT/Apache-2.0 in preparation for inclusion in sled. github.com/komora-io/conc…

Komora (@komora_io) 's Twitter Profile Photo

concurrent-map 5.0.23 now supports two fan-favorite methods from sled: fetch_and_update and update_and_fetch for atomically pushing code to data, letting users avoid a manual read + CAS loop until successful. This makes any pure value mutation atomic. github.com/komora-io/conc…

Komora (@komora_io) 's Twitter Profile Photo

concurrent-map 5.0.24 adds support for atomic pop_first_in_range, pop_last_in_range, fetch_max, and fetch_min functions. github.com/komora-io/conc…

Komora (@komora_io) 's Twitter Profile Photo

terrors is an ergonomic and precise error handling library built atop type-level set arithmetic. It lets users specify ad-hoc sum types that can be safely narrowed or broadened, encouraging functions to be precise about the kinds of errors that they return github.com/komora-io/terr…