Crate mz_rocksdb

Source
Expand description

An async wrapper around RocksDB, that does IO on a separate thread.

This crate offers a limited API to communicate with RocksDB, to get the best performance possible (most importantly, by batching operations). Currently this API is only upsert, which replaces (or deletes) values for a set of keys, and returns the previous values.

Re-exports§

pub use config::RocksDBConfig;

Modules§

config
This module handles converting mz_rocksdb_types into rocksdb types.
defaults
The following are defaults (and default strings for LD parameters) for RocksDBTuningParameters.

Structs§

GetResult
The result type for individual gets.
InstanceOptions
Fixed options to configure a RocksDBInstance. These are not tuning parameters, see the config modules for tuning. These are generally fixed within the binary.
MultiGetResult
The result type for multi_get.
MultiUpdateResult
The result type for multi_update.
RocksDBInstance
An async wrapper around RocksDB.
RocksDBInstanceMetrics
Worker metrics about an instances usage of RocksDB. User-provided so the user can choose the labels.
RocksDBSharedMetrics
Shared metrics about an instances usage of RocksDB. User-provided so the user can choose the labels.
RocksDBTuningParameters
A set of parameters to tune RocksDB. This struct is plain-old-data, and is used to update RocksDBConfig, which contains some dynamic value for some parameters.
ValueIterator
An iterator over operand values to merge for a key in RocksDB. By convention the first value will be the existing value if it was present.

Enums§

Command 🔒
Error
An error using this RocksDB wrapper.
KeyUpdate
The type of update to perform on a key.

Functions§

rocksdb_core_loop 🔒
shutdown_and_cleanup 🔒

Type Aliases§

Diff 🔒
StubMergeOperator
Helper type stub to satisfy generic bounds when initializing a InstanceOptions without a defined merge operator.