Expand description
sst stands for sorted-string-table.
This crate provides an implementation of an SST and most common cursoring patterns necessary to create something like a log-structured merge tree out of SSTs.
Re-exports§
pub use log::LogBuilder;
pub use log::LogIterator;
pub use log::LogOptions;
pub use setsum::Setsum;
Modules§
- block
- A block is the base unit of an SST. This module provides implementations of cursors and builders for blocks.
- bounds_
cursor - Bounds cursor restricts a general cursor to be between some pair of keys.
- concat_
cursor - file_
manager - Management of open files. Intended to re-use open files and fail when too many files are open.
- gc
- This module implements a garbage-collecting cursor that compacts according to a garbage-collection policy.
- ingest
- Tools for ingesting data into a directory.
- lazy_
cursor - Lazy cursoring, so we can limit the number of files open at once.
- log
- A log is an unordered table.
- merging_
cursor - A MergingCursor merges several cursors together.
- pruning_
cursor - The primary point of the pruning cursor is to turn an in-memory skip-list into something that looks like a consistent cut of the data. Consequently, there nees to be more logic than just working on a static sst. Other cursors will assume a pruning cursor gets applied beneath them to create a cursor over an immutable data set.
- reference
- Reference types for comparing sst and block behavior.
- sbbf
- This file implements the split-block bloom-filter used by parquet: https://github.com/apache/parquet-format/blob/master/BloomFilter.md
- setsum
- A Setsum type that’s more ergonomic for working with key-value pairs.
Structs§
- Key
- A memory-owning Key.
- KeyRef
- A shallow, easy-to-copy reference to a key.
- KeyValue
Pair - A KeyValuePair is an owned version of a key-value pair.
- KeyValue
Ref - A KeyValueRef is an easy-to-copy version of a key-value pair.
- Sst
- An Sst represents an immutable sorted string table.
- SstBuilder
- Build Ssts by providing keys in-order.
- SstCursor
- A cursor over an Sst.
- SstMetadata
- Metadata about an Sst.
- SstMulti
Builder - Create an SstBuilder that will create numbered files of similar prefix and suffix.
- SstOptions
- Options for working with Ssts.
Enums§
- Block
Compression - An enum matching the types of compression supported.
- Error
- The sst Error type.
Constants§
- CLAMP_
MAX_ MINIMUM_ FILE_ SIZE - The maximum minimum file size.
- CLAMP_
MAX_ TARGET_ BLOCK_ SIZE - The maximum target block size.
- CLAMP_
MAX_ TARGET_ FILE_ SIZE - The maximum target file size.
- CLAMP_
MIN_ MINIMUM_ FILE_ SIZE - The minimum minimum file size.
- CLAMP_
MIN_ TARGET_ BLOCK_ SIZE - The minimum target block size.
- CLAMP_
MIN_ TARGET_ FILE_ SIZE - The minimum target file size.
- DEFAULT_
KEY - The default key is the zero key.
- DEFAULT_
TIMESTAMP - The default timestamp is 0.
- MAX_
BATCH_ LEN - The maximum size of a write batch, in bytes.
- MAX_KEY
- The maximum key. This is eleven
0xff
bytes. - MAX_
KEY_ LEN - The maximum length of a key.
- MAX_
VALUE_ LEN - The maximum length of a value.
- MIN_KEY
- The zero key. This is the empty byte string.
- TABLE_
FULL_ SIZE - The recommended size of a table.
Traits§
- Builder
- A Builder is a generic way of building a sorted (sst) or unsorted (log) string table.
- Cursor
- A Cursor allows for iterating through data.
- IoToZ
- IO to Z.
Functions§
- check_
key_ len - Check that the key is of valid length, or return a descriptive error.
- check_
table_ size - Check that the table size is allowable, or return a descriptive error.
- check_
value_ len - Check that the value is of valid length, or return a descriptive error.
- register_
biometrics - Register this crate’s biometrics.
- register_
monitors - Register this crate’s monitors.