{"repo":"fjall-rs/fjall","free":true,"listed":false,"github":"https://github.com/fjall-rs/fjall","clone":"git clone https://github.com/fjall-rs/fjall.git","description":"🗻 Log-structured, embeddable key-value storage engine written in Rust","language":"Rust","stars":2270,"topics":["database","lsm","lsm-tree","lsmt","rust","rust-lang","storage-engine","embedded-database","embedded-kv","kv"],"license":"Apache-2.0","category":"databases-storage","readme_excerpt":"Fjall (Nordic: \"Mountain\") is a log-structured, embeddable key-value storage engine written in Rust. It features: - A thread-safe BTreeMap-like API - 100% safe & stable Rust - LSM-tree-based storage similar to RocksDB - Range & prefix searching with forward and reverse iteration - Multiple keyspaces (a.k.a. column families) with cross-keyspace atomic semantics - Built-in compression (default = LZ4 ) - Serializable transactions (optional) - Key-value separation for large blob use cases (optional) - Custom compaction filters to run custom logic during compactions (optional) - Automatic background maintenance It is not: - A standalone database server - A relational or wide-column database: it has no built-in notion of columns or query language Sponsors Basic usage [!TIP] Like any typical key-value store, keys are stored in lexicographic order. If you are storing integer keys (e.g. timeseries data), you should use the big endian form to have predictable ordering. Durability To support different kinds of workloads, Fjall is agnostic about the type of durability your application needs. After writing data ( insert , remove or committing a write batch/transaction), you can choose to call Database::persist which takes a PersistMode parameter. By default, any operation will flush to OS buffers, but not to disk. This matches RocksDB's default durability. Also, when dropped, the database will try to persist the journal to disk synchronously. Multithreading, Async and Multiprocess [!WARNI","default_branch":null,"files":null,"tree":[],"storefront":"/r/fjall-rs","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/fjall-rs/fjall/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}