RocksDB · Schema

RocksDB Options

Schema representing RocksDB database configuration options controlling storage behavior, compaction, memory usage, and performance tuning.

RocksDBKey-Value StoreEmbedded DatabaseStorage EngineOpen-Source

Properties

Name Type Description
create_if_missing boolean If true, the database will be created if it does not exist.
error_if_exists boolean If true, an error is raised if the database already exists.
paranoid_checks boolean If true, the implementation will do aggressive checking of the data it is processing and will stop early if it detects any errors.
max_open_files integer Number of open files that can be used by the DB. Value -1 means files are always kept open.
write_buffer_size integer Amount of data to build up in memory (backed by an unsorted log on disk) before converting to a sorted on-disk file. In bytes.
max_write_buffer_number integer The maximum number of write buffers that are built up in memory.
target_file_size_base integer Target file size for compaction in bytes.
max_bytes_for_level_base integer Control maximum total data size for a level. Default 256MB.
compression string Compression algorithm used for each level.
compaction_style string The compaction style: level-based, universal, FIFO, or none.
num_levels integer Number of levels for this database.
level0_file_num_compaction_trigger integer Number of files to trigger level-0 compaction.
max_background_jobs integer Maximum number of concurrent background jobs (compactions and flushes).
use_direct_io_for_flush_and_compaction boolean Use O_DIRECT for background flush and compaction I/O.
enable_blob_files boolean Enable BlobDB for storing large values separately from the LSM tree.
min_blob_size integer Values at or above this threshold will be stored in blob files. In bytes.
blob_compression_type string Compression algorithm for blob files.
ttl integer Time to live in seconds for keys. 0 means no TTL.
View JSON Schema on GitHub

JSON Schema

rocksdb-options-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.github.io/rocksdb/json-schema/rocksdb-options-schema.json",
  "title": "RocksDB Options",
  "description": "Schema representing RocksDB database configuration options controlling storage behavior, compaction, memory usage, and performance tuning.",
  "type": "object",
  "properties": {
    "create_if_missing": {
      "type": "boolean",
      "description": "If true, the database will be created if it does not exist.",
      "default": false
    },
    "error_if_exists": {
      "type": "boolean",
      "description": "If true, an error is raised if the database already exists.",
      "default": false
    },
    "paranoid_checks": {
      "type": "boolean",
      "description": "If true, the implementation will do aggressive checking of the data it is processing and will stop early if it detects any errors.",
      "default": false
    },
    "max_open_files": {
      "type": "integer",
      "description": "Number of open files that can be used by the DB. Value -1 means files are always kept open.",
      "default": -1
    },
    "write_buffer_size": {
      "type": "integer",
      "description": "Amount of data to build up in memory (backed by an unsorted log on disk) before converting to a sorted on-disk file. In bytes.",
      "default": 67108864
    },
    "max_write_buffer_number": {
      "type": "integer",
      "description": "The maximum number of write buffers that are built up in memory.",
      "default": 2
    },
    "target_file_size_base": {
      "type": "integer",
      "description": "Target file size for compaction in bytes.",
      "default": 67108864
    },
    "max_bytes_for_level_base": {
      "type": "integer",
      "description": "Control maximum total data size for a level. Default 256MB.",
      "default": 268435456
    },
    "compression": {
      "type": "string",
      "enum": ["no_compression", "snappy", "zlib", "bzip2", "lz4", "lz4hc", "xpress", "zstd"],
      "description": "Compression algorithm used for each level.",
      "default": "snappy"
    },
    "compaction_style": {
      "type": "string",
      "enum": ["level", "universal", "fifo", "none"],
      "description": "The compaction style: level-based, universal, FIFO, or none.",
      "default": "level"
    },
    "num_levels": {
      "type": "integer",
      "description": "Number of levels for this database.",
      "default": 7
    },
    "level0_file_num_compaction_trigger": {
      "type": "integer",
      "description": "Number of files to trigger level-0 compaction.",
      "default": 4
    },
    "max_background_jobs": {
      "type": "integer",
      "description": "Maximum number of concurrent background jobs (compactions and flushes).",
      "default": 2
    },
    "use_direct_io_for_flush_and_compaction": {
      "type": "boolean",
      "description": "Use O_DIRECT for background flush and compaction I/O.",
      "default": false
    },
    "enable_blob_files": {
      "type": "boolean",
      "description": "Enable BlobDB for storing large values separately from the LSM tree.",
      "default": false
    },
    "min_blob_size": {
      "type": "integer",
      "description": "Values at or above this threshold will be stored in blob files. In bytes.",
      "default": 0
    },
    "blob_compression_type": {
      "type": "string",
      "enum": ["no_compression", "snappy", "zlib", "bzip2", "lz4", "lz4hc", "zstd"],
      "description": "Compression algorithm for blob files.",
      "default": "no_compression"
    },
    "ttl": {
      "type": "integer",
      "description": "Time to live in seconds for keys. 0 means no TTL.",
      "default": 0
    }
  },
  "additionalProperties": false
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/rocksdb-options"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.