Go to file
Andrew Kryczka b092977643 BackupEngine gluster-friendly file naming convention
Summary:
Use the rsync tempfile naming convention in our `BackupEngine`. The temp file follows the format, `.<filename>.<suffix>`, which is later renamed to `<filename>`. We fix `tmp` as the `<suffix>` as we don't need to use random bytes for now. The benefit is gluster treats this tempfile naming convention specially and applies hashing only to `<filename>`, so the file won't need to be linked or moved when it's renamed. Our gluster team suggested this will make things operationally easier.
Closes https://github.com/facebook/rocksdb/pull/3463

Differential Revision: D6893333

Pulled By: ajkr

fbshipit-source-id: fd7622978f4b2487fce33cde40dd3124f16bcaa8
2018-02-21 17:42:07 -08:00
buckifier Suppress lint in old files 2018-01-29 12:56:42 -08:00
build_tools Legocastle job to report lite build binary size to scuba 2018-02-15 17:27:24 -08:00
cache Minor typo in comment (s/pro/pri) 2018-02-03 18:27:14 -08:00
cmake
coverage Suppress lint in old files 2018-01-29 12:56:42 -08:00
db Add rocksdb.iterator.internal-key property 2018-02-20 19:12:09 -08:00
docs Adding blog post for 5.10.2 release 2018-02-13 11:56:59 -08:00
env Several small "fixes" 2018-02-15 16:57:37 -08:00
examples
hdfs Suppress lint in old files 2018-01-29 12:56:42 -08:00
include/rocksdb Add rocksdb.iterator.internal-key property 2018-02-20 19:12:09 -08:00
java Java: Add copy constructors for various option classes 2018-02-02 10:57:28 -08:00
memtable Unbreak MemTableRep API change 2018-02-15 17:27:24 -08:00
monitoring Compilation fixes for powerpc build, -Wparentheses-equality error and missing header guards 2018-02-09 14:12:43 -08:00
options options: Fix coverity issues 2018-02-01 14:27:42 -08:00
port Explictly fail writes if key or value is not smaller than 4GB 2018-02-09 14:57:54 -08:00
table Several small "fixes" 2018-02-15 16:57:37 -08:00
third-party
tools fix handling of empty string as checkpoint directory 2018-02-20 16:44:00 -08:00
util Fix deadlock in ColumnFamilyData::InstallSuperVersion() 2018-02-16 08:13:34 -08:00
utilities BackupEngine gluster-friendly file naming convention 2018-02-21 17:42:07 -08:00
.clang-format
.gitignore
.travis.yml
AUTHORS
CMakeLists.txt
CODE_OF_CONDUCT.md
CONTRIBUTING.md
COPYING
DEFAULT_OPTIONS_HISTORY.md
DUMP_FORMAT.md
HISTORY.md fix handling of empty string as checkpoint directory 2018-02-20 16:44:00 -08:00
INSTALL.md
LANGUAGE-BINDINGS.md
LICENSE.Apache
LICENSE.leveldb
Makefile Suppress UBSAN error in finer guanularity 2018-02-13 12:18:07 -08:00
README.md
ROCKSDB_LITE.md
TARGETS
USERS.md
Vagrantfile
WINDOWS_PORT.md
appveyor.yml Upgrade Appveyor to VS2017 2018-02-01 13:57:01 -08:00
issue_template.md
src.mk
thirdparty.inc

README.md

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/