rust sled A (beta) modern embedded database

sled - it's all downhill from here!!! https://github.com/spacejam/sled A (beta) modern embedded database. Doesn't your data deserve a (beta) beautiful new home? let tree = sled::open("/tmp/welcome-to-sled").expect("open"); // insert and get, similar to std's BTreeMap tree.insert("KEY1", "VAL1"); assert_eq!(tree.get(&"KEY1"), Ok(Some(sled::IVec::from("VAL1")))); // range queries for kv in tree.range("KEY1".."KEY9") {} // deletion tree.remove(&"KEY1"); // atomic compare and swap tree.compare_and_swap("KEY1", Some("VAL1"), Some("VAL2")); // block until all operations are stable on disk // (flush_async also available to get a Future) tree.flush(); If you would like to work with structured data without paying expensive deserialization costs, check out the structured example! performance LSM tree-like write performance with traditional B+ tree-like read performance over a billion operations in under a minute at 95% read 5% writes on 16 cores on a small dataset measure your own workloads rather than relying on some marketing for contrived workloads what's the trade-off? sled uses too much disk space sometimes. this will improve significantly before 1.0. features API similar to a threadsafe BTreeMap<[u8], [u8]> serializable multi-key and multi-Tree interactive transactions fully atomic single-key operations, supports compare and swap zero-copy reads write batch support subscriber/watch semantics on key prefixes multiple keyspace/Tree support merge operators forward and reverse iterators a crash-safe monotonic ID generator capable of generating 75-125 million unique ID's per second zstd compression (use the compression build feature) cpu-scalable lock-free implementation flash-optimized log-structured storage uses modern b-tree techniques such as prefix encoding and suffix truncation for reducing the storage costs of long keys