A library that provides an embeddable, persistent key-value store for fast storage.
C++ Java Perl C Makefile Shell Other
Latest commit aebfd17 Jan 20, 2017 @jsteemann jsteemann committed with facebook-github-bot fix non-portable behavior in encoder
Summary:
using ~0UL for mask uses a uint32_t at least in MSVC, but a uint64_t is required for it to work properly
Closes #1777

Differential Revision: D4444004

Pulled By: yiwu-arbug

fbshipit-source-id: 057cc42
Permalink
Failed to load latest commit information.
arcanist_util Show sandcastle URL in phabricator Dec 20, 2016
build_tools Fix the directory path for RocksDB repo Dec 28, 2016
cmake/modules cmake support for linux and osx (#1358) Sep 28, 2016
coverage Fix coverage script Nov 3, 2014
db Fix get approx size Jan 20, 2017
docs 5.0.1 release blog post Jan 6, 2017
examples examples: Add options_file_example to target all Dec 29, 2016
hdfs Fix bug in UnScSigned-off-by: xh931076284 <931076284@qq.com> (#1336) Sep 14, 2016
include/rocksdb c: allow set savepoint to writebatch Jan 20, 2017
java fix batchresult handle leak Jan 20, 2017
memtable Unified InlineSkipList::Insert algorithm with hinting Nov 22, 2016
port Follow up for DirectIO refactor Jan 15, 2017
table Revert "PinnableSlice" Jan 8, 2017
third-party Kill flashcache code in RocksDB Dec 1, 2016
tools Revert "PinnableSlice" Jan 8, 2017
util Fix OptimizeForPointLookup() Jan 20, 2017
utilities fix non-portable behavior in encoder Jan 21, 2017
.arcconfig Make rocksdb work with internal repo Oct 28, 2016
.clang-format A script that automatically reformat affected lines Jan 14, 2014
.gitignore Less linear search in DBIter::Seek() when keys are overwritten a lot Nov 28, 2016
.travis.yml Split travis jobs Jan 19, 2017
AUTHORS Add AUTHORS file. Fix #203 Sep 29, 2014
CMakeLists.txt Fixup a couple of builds errors on Linux. Jan 20, 2017
CONTRIBUTING.md facebook accounts are not required for CLA signers Jul 8, 2014
DEFAULT_OPTIONS_HISTORY.md Release RocksDB 4.8.0 May 2, 2016
DUMP_FORMAT.md First version of rocksdb_dump and rocksdb_undump. Jun 19, 2015
HISTORY.md Change DB::GetApproximateSizes for more flexibility needed for MyRocks Jan 20, 2017
INSTALL.md Update documentation to point at gcc 4.8 Oct 29, 2016
LANGUAGE-BINDINGS.md Update LANGUAGE-BINDINGS.md Jul 15, 2016
LICENSE Updated all copyright headers to the new format. Feb 9, 2016
Makefile Zlib 1.2.8 is no longer available, switched to 1.2.10 Jan 20, 2017
PATENTS Update Patent Grant. Apr 13, 2015
README.md Appveyor badge to show master branch Jul 26, 2016
ROCKSDB_LITE.md Optimistic Transactions May 29, 2015
USERS.md Update Netflix section of USERS.md Dec 19, 2016
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 Enable DBTest.GroupCommit as it runs in a reasonlable time now. Jan 18, 2017
src.mk Iterator should be in corrupted status if merge operator return false Dec 16, 2016
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 (sanjay@google.com) and Jeff Dean (jeff@google.com)

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/