A library that provides an embeddable, persistent key-value store for fast storage.
C++ Java Perl C Makefile Shell Other
Switch branches/tags
Latest commit a34b2e3 Jul 22, 2017 @ajkr ajkr committed with facebook-github-bot Fix caching of compaction picker's next index
Summary:
The previous implementation of caching `file_size` index made no sense. It only remembered the original span of locked files starting from beginning of `file_size`. We should remember the index after all compactions that have been considered but rejected. This will reduce the work we do while holding the db mutex.
Closes #2624

Differential Revision: D5468152

Pulled By: ajkr

fbshipit-source-id: ab92a4bffe76f9f174d861bb5812b974d1013400
Permalink
Failed to load latest commit information.
arcanist_util Remove arcanist_util directory Jul 19, 2017
buckifier Make TARGETS file portable Jul 14, 2017
build_tools Remove make_new_version.sh Jul 21, 2017
cache Revert "comment out unused parameters" Jul 22, 2017
cmake/modules CMake: more MinGW fixes Apr 6, 2017
coverage Fix coverage script Nov 3, 2014
db Fix caching of compaction picker's next index Jul 22, 2017
docs rocksdb 5.5.1 release post Jul 5, 2017
env Revert "comment out unused parameters" Jul 22, 2017
examples Change RocksDB License Jul 15, 2017
hdfs Revert "comment out unused parameters" Jul 22, 2017
include/rocksdb Revert "comment out unused parameters" Jul 22, 2017
java Cassandra compaction filter for purge expired columns and rows Jul 21, 2017
memtable Revert "comment out unused parameters" Jul 22, 2017
monitoring Change RocksDB License Jul 15, 2017
options Revert "comment out unused parameters" Jul 22, 2017
port Revert "comment out unused parameters" Jul 22, 2017
table Revert "comment out unused parameters" Jul 22, 2017
third-party Revert "comment out unused parameters" Jul 22, 2017
tools Revert "comment out unused parameters" Jul 22, 2017
util Revert "comment out unused parameters" Jul 22, 2017
utilities Revert "comment out unused parameters" Jul 22, 2017
.clang-format A script that automatically reformat affected lines Jan 14, 2014
.deprecated_arcconfig Update ShipIt to honor TARGETS updates Apr 13, 2017
.gitignore Simple blob file dumper May 23, 2017
.travis.yml Force travis to build with clang on MacOS Jun 5, 2017
AUTHORS Add AUTHORS file. Fix #203 Sep 29, 2014
CMakeLists.txt Cassandra compaction filter for purge expired columns and rows Jul 21, 2017
CONTRIBUTING.md Remove the licensing description in CONTRIBUTING.md Jul 16, 2017
COPYING Add GPLv2 as an alternative license. Apr 28, 2017
DEFAULT_OPTIONS_HISTORY.md options.delayed_write_rate use the rate of rate_limiter by default. May 24, 2017
DUMP_FORMAT.md First version of rocksdb_dump and rocksdb_undump. Jun 19, 2015
HISTORY.md Update HISTORY to release 5.7 Jul 13, 2017
INSTALL.md Added a note about LZ4 compression dependency Jul 10, 2017
LANGUAGE-BINDINGS.md Adding Dlang to the list Feb 17, 2017
LICENSE.Apache Change RocksDB License Jul 15, 2017
LICENSE.leveldb Add back the LevelDB license file Jul 17, 2017
Makefile Cassandra compaction filter for purge expired columns and rows Jul 21, 2017
README.md Appveyor badge to show master branch Jul 26, 2016
ROCKSDB_LITE.md Optimistic Transactions May 29, 2015
TARGETS Cassandra compaction filter for purge expired columns and rows Jul 21, 2017
USERS.md fixed typo Jun 13, 2017
Vagrantfile Update Vagrant file (test internal phabricator workflow) Oct 28, 2016
WINDOWS_PORT.md Commit both PR and internal code review changes Jul 7, 2015
appveyor.yml Rework test running script. Apr 5, 2017
src.mk Cassandra compaction filter for purge expired columns and rows Jul 21, 2017
thirdparty.inc Introduce XPRESS compresssion on Windows. (#1081) Apr 20, 2016

README.md

RocksDB: A Persistent Key-Value Store for Flash and RAM Storage

Build Status Build status

RocksDB is developed and maintained by Facebook Database Engineering Team. It is built on earlier work on LevelDB by Sanjay Ghemawat ([email protected]) and Jeff Dean ([email protected])

This code is a library that forms the core building block for a fast key value server, especially suited for storing data on flash drives. It has a Log-Structured-Merge-Database (LSM) design with flexible tradeoffs between Write-Amplification-Factor (WAF), Read-Amplification-Factor (RAF) and Space-Amplification-Factor (SAF). It has multi-threaded compactions, making it specially suitable for storing multiple terabytes of data in a single database.

Start with example usage here: https://github.com/facebook/rocksdb/tree/master/examples

See the github wiki for more explanation.

The public interface is in include/. Callers should not include or rely on the details of any other header files in this package. Those internal APIs may be changed without warning.

Design discussions are conducted in https://www.facebook.com/groups/rocksdb.dev/