Module config

Source
Expand description

This module offers a protobuf implementation (to be used with LaunchDarkly) RocksDBTuningParameters that can be used to tune a RocksDB instance. The supported options are carefully considered to be a minimal set required to tune RocksDB to perform well for the UPSERT usecase. This usecase is slightly odd:

  • Very high write rate (1:1 with reads)
  • No durability requirements
  • Minimal space amplification
  • Relatively relaxed read and write latency requirements
    • (note that UPSERT RocksDB instances are NOT in the critical path for any sort of query.

The defaults (so, the values resulting from derserializing {} into a RocksDBTuningParameters) should be reasonable defaults.

The documentation on each field in RocksDBTuningParameters has more information

Note that the following documents are required reading to deeply understand this module:

Modules§

defaults
The following are defaults (and default strings for LD parameters) for RocksDBTuningParameters.
proto_rocks_db_tuning_parameters
Nested message and enum types in ProtoRocksDbTuningParameters.

Structs§

ProtoRocksDbTuningParameters
The lowercase b is because prost lowercases it anyways if its capitalized :(
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.
RocksDbWriteBufferManagerConfig

Enums§

CompactionStyle
The 2 primary compaction styles in RocksDB. See RocksDBTuningParameters::compaction_style` for more information.
CompressionType
Mz-supported compression types in RocksDB. See RocksDBTuningParameters::compression_type` for more information.