Skip to content
A version of RocksDB that uses persistent memory
C++ Java Perl Python C Shell Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
buckifier Add copyright headers per FB open-source checkup tool. (#5199) Apr 18, 2019
build_tools Add copyright headers per FB open-source checkup tool. (#5199) Apr 18, 2019
cache Consolidate hash function used for non-persistent data in a new funct… Apr 8, 2019
cmake Make FindZLIB consistent with official definitions (#4823) Jan 2, 2019
coverage Add copyright headers per FB open-source checkup tool. (#5199) Apr 18, 2019
db correct the free value ref logic during compaction Oct 14, 2019
dcpmm correct the free value ref logic during compaction Oct 14, 2019
docs Blog post for format_version=4 Mar 9, 2019
env Support kvs (store key and value separately) on dcpmm Aug 28, 2019
examples add an example for kvs functionality Sep 24, 2019
hdfs Add copyright headers per FB open-source checkup tool. (#5199) Apr 18, 2019
include/rocksdb fix the bug of decoding raw data Sep 24, 2019
java Add copyright headers per FB open-source checkup tool. (#5199) Apr 18, 2019
memtable WriteBufferManager's dummy entry size to block cache 1MB -> 256KB (#5… Apr 16, 2019
monitoring Fix compilation errors for 32bits/LITE/ios build. (#5220) Apr 22, 2019
options Support kvs (store key and value separately) on dcpmm Aug 28, 2019
port Optionally wait on bytes_per_sync to smooth I/O (#5183) Apr 22, 2019
table multiget: fix memory issues due to vector auto resizing (#5279) May 24, 2019
third-party/gtest-1.7.0/fused-src/gtest remove bundled but unused fbson library (#5108) Mar 26, 2019
tools Display P99 if use option report_interval_seconds in db_bench Aug 28, 2019
util 1) fix some bugs introduced when we ported the code from v5.12.4 to v… Sep 6, 2019
utilities Extend MultiGet batching to Transactions (#5210) Apr 23, 2019
.clang-format A script that automatically reformat affected lines Jan 14, 2014
.gitignore 1) fix some bugs introduced when we ported the code from v5.12.4 to v… Sep 6, 2019
.lgtm.yml Create lgtm.yml for LGTM.com C/C++ analysis (#4058) Jun 26, 2018
.travis.yml Fix printf formatting on MacOS (#4533) Oct 19, 2018
AUTHORS Update RocksDB Authors File Oct 18, 2017
CMakeLists.txt Disable dynamic extension support by default for CMake (#5419) Jun 5, 2019
CODE_OF_CONDUCT.md Add Code of Conduct Dec 6, 2017
CONTRIBUTING.md Add Code of Conduct Dec 6, 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 and bump version Jun 7, 2019
INSTALL.md Update the version of the dependencies used by the RocksJava static b… Dec 19, 2018
LANGUAGE-BINDINGS.md LANGUAGE-BINDINGS.md: mention python-rocksdb Mar 20, 2019
LICENSE.Apache Change RocksDB License Jul 15, 2017
LICENSE.leveldb Add back the LevelDB license file Jul 17, 2017
Makefile Support kvs (store key and value separately) on dcpmm Aug 28, 2019
README.md Update README, add some compile and benchmark instructions Aug 28, 2019
ROCKSDB_LITE.md Fix some typos in comments and docs. Mar 8, 2018
TARGETS Support for single-primary, multi-secondary instances (#4899) Mar 26, 2019
USERS.md Adding IOTA Foundation to USERS.MD (#4436) Oct 2, 2018
Vagrantfile Adding CentOS 7 Vagrantfile & build script Feb 26, 2018
WINDOWS_PORT.md #5145 , rename port/dirent.h to port/port_dirent.h to avoid compile e… Apr 4, 2019
appveyor.yml Add RocksJava build to AppVeyor Jan 3, 2019
defs.bzl Add copyright headers per FB open-source checkup tool. (#5199) Apr 18, 2019
issue_template.md Add a template for issues Sep 29, 2017
kvs_write.sh 1) fix some bugs introduced when we ported the code from v5.12.4 to v… Sep 6, 2019
opensource_write.sh 1) fix some bugs introduced when we ported the code from v5.12.4 to v… Sep 6, 2019
src.mk
thirdparty.inc Add copyright headers per FB open-source checkup tool. (#5199) Apr 18, 2019

README.md

This rocksdb is derived from facebook rocksdb v6.2.2.

It depends on memkind and pmdk library, please install them before compiling the rocksdb.

To use the new features, please compile with below options:

$ make release -j ROCKSDB_BC_ON_DCPMM=1 ROCKSDB_KVS_ON_DCPMM=1 ROCKSDB_WAL_ON_DCPMM=1

To benchmark it, please refer to the script kvs_write.sh and opensource_write.sh

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

Linux/Mac Build Status Windows Build status PPC64le 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/

License

RocksDB is dual-licensed under both the GPLv2 (found in the COPYING file in the root directory) and Apache 2.0 License (found in the LICENSE.Apache file in the root directory). You may select, at your option, one of the above-listed licenses.

You can’t perform that action at this time.