Expand description
TessariKV: a pure-Rust, lock-free-first LSM key-value storage engine.
Structs§
- Batch
Entry - One entry of a
WriteBatch. - Db
- An open database.
- DbIterator
- A walk over the live keys of one keyspace, in key order forward or backward, at one
snapshot and inside the bounds of its
ReadOptions. A deleted key is not shown. - DbOptions
- Validated database-wide options. Built through
DbOptions::builderor a preset. - DbOptions
Builder - Builds a validated
DbOptions. - Encryption
- Encryption at rest: a
KeyProviderand the id of the root key new files use. Files keep the id they were written with, so a key stays needed until no file names it. - Histogram
Snapshot - A distribution observed over one interval.
- Keyspace
Id - A keyspace (column family): an independently configured ordered key space inside one database.
- Keyspace
Options - Validated options of one keyspace. Built through
KeyspaceOptions::builderor a preset. - Keyspace
Options Builder - Builds a validated
KeyspaceOptions. - Memory
Storage - A file system in memory. Cheap to clone; clones share the same files.
- OsStorage
- Files on the local file system.
- Read
Options - How one read or iterator behaves.
- RootKey
- A caller’s root key; the bytes are wiped when it is dropped.
- Savepoint
- A point a transaction can roll back to: the writes made before it.
- Scan
Page - One page of a scan: live entries in key order, and where the next page starts.
- Scan
Range - Which keys a scan page lists: up to
limitof those in[start, end), unbounded above whenendisNone(seeDb::multi_scan). - Sequence
Number - The position of one key operation in the database’s total order.
- Snapshot
- A point in the database’s history. Reads through it see the database as it was when the snapshot was taken, whatever is written, switched or compacted afterwards; the versions it needs are kept until it is dropped.
- Statistics
Snapshot - What
crate::Db::statisticsread: tickers since the database opened, histograms since the previous read. - Transaction
- See the module documentation.
- Transaction
Options - How one transaction behaves.
- Write
Batch - An ordered list of puts and deletes, applied atomically by one commit.
- Write
Options - How one write behaves.
Enums§
- Cipher
- The authenticated encryption a file is sealed with.
- Compaction
Style - The compaction style of a keyspace.
- Compression
- How a table stores its data blocks.
- Durability
- What a successful write promises to survive.
- Error
- Everything an engine operation can fail with.
- Error
Category - What kind of failure an
Erroris, and so what a caller can do about it. - Histogram
- A latency distribution the engine keeps.
- Isolation
- Which anomalies a transaction is protected from (see the
transactionmodule). - Storage
Mode - Where the database keeps its files.
- Ticker
- A counter the engine keeps, each answering one question about the engine’s work.
- WalRecovery
- What opening a database does with a log whose end is damaged.
Constants§
- ROOT_
KEY_ BYTES - Bytes of a root key.
Traits§
- KeyProvider
- Hands out root keys by id. The database stores no key: each encrypted file names the id of the root key its own key is derived from, and the database asks the provider for that root key when it opens the file.
- Readable
File - A file read by position from any number of threads at once.
- Storage
- A file system the engine can keep a database in.
- Storage
Lock - An exclusive lock on a database directory, released on drop.
- Writable
File - The single writer of one file.
Type Aliases§
- Result
- Result of an engine operation.