RocksDB is a C++ library providing an embedded key-value store, where
keys and values are arbitrary byte streams. It was developed at
Facebook based on LevelDB and provides backwards-compatible support
for LevelDB APIs.
RocksDB is optimized for Flash with extremely low latencies. RocksDB
uses a Log Structured Database Engine for storage, written entirely in
C++. A Java version called RocksJava is currently in development.
RocksDB features highly flexible configuration settings that may be
tuned to run on a variety of production environments, including pure
memory, Flash, hard disks or HDFS. It supports various compression
algorithms and good tools for production support and debugging.
Features:
- Designed for application servers wanting to store up to a few
terabytes of data on locally attached Flash drives or in RAM
- Optimized for storing small to medium size key-values on fast
storage -- flash devices or in-memory
- Scales linearly with number of CPUs so that it works well on
processors with many cores
Build Options:
- BUILD_TYPE=(all|lite|UNSET): if unset the default librocksdb will
build; set it to lite to build only librocksdb_lite; if it is set to
all, it will build both librocksdb and librocksdb_lite.
Default is unset.
- ENABLE_STATIC=(yes|no): Deploy static library besides shared.
Default is no.
- INSTALL_TOOLS=(yes|no): Deploy administration tools.
Default is yes.