Struct lsm_tree::compaction::Fifo
source · pub struct Fifo { /* private fields */ }
Expand description
FIFO-style compaction.
Limits the tree size to roughly limit
bytes, deleting the oldest segment(s)
when the threshold is reached.
Will also merge segments if the amount of segments in level 0 grows too much, which could cause write stalls.
Additionally, a TTL can be configured to drop old segments.
§Caution
Only use it for specific workloads where:
- You only want to store recent data (unimportant logs, …)
- Your keyspace grows monotonically (time series)
- You only insert new data
More info here: https://github.com/facebook/rocksdb/wiki/FIFO-compaction-style
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Strategy
impl RefUnwindSafe for Strategy
impl Send for Strategy
impl Sync for Strategy
impl Unpin for Strategy
impl UnwindSafe for Strategy
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more