Find a file
Yi Wu eaaef91178 Blob DB: Store blob index as kTypeBlobIndex in base db
Summary:
Blob db insert blob index to base db as kTypeBlobIndex type, to tell apart values written by plain rocksdb or blob db. This is to make it possible to migrate from existing rocksdb to blob db.

Also with the patch blob db garbage collection get away from OptimisticTransaction. Instead it use a custom write callback to achieve similar behavior as OptimisticTransaction. This is because we need to pass the is_blob_index flag to DBImpl::Get but OptimisticTransaction don't support it.
Closes https://github.com/facebook/rocksdb/pull/3000

Differential Revision: D6050044

Pulled By: yiwu-arbug

fbshipit-source-id: 61dc72ab9977625e75f78cd968e7d8a3976e3632
2017-10-17 17:28:11 -07:00
buckifier
build_tools fix lite build 2017-10-17 08:57:09 -07:00
cache Add -DPORTABLE=1 to MSVC CI build 2017-08-31 16:42:48 -07:00
cmake CMake: Add support for CMake packages 2017-08-28 17:14:37 -07:00
coverage
db Blob DB: Store blob index as kTypeBlobIndex in base db 2017-10-17 17:28:11 -07:00
docs Blog post for 5.8 release 2017-09-28 10:14:09 -07:00
env Repair DBs with trailing slash in name 2017-09-22 12:42:22 -07:00
examples Pinnableslice examples and blog post 2017-08-24 12:26:07 -07:00
hdfs
include/rocksdb Move ~Comparator define to comparator.h 2017-10-17 09:58:13 -07:00
java Add OptionsUtil class to java/CMakeLists.txt 2017-10-12 16:57:05 -07:00
memtable Added CPU prefetch for skiplist 2017-10-04 18:12:52 -07:00
monitoring Use RAII instead of pointers in cf_info_map 2017-09-28 14:26:47 -07:00
options fix lite build 2017-10-17 08:57:09 -07:00
port Fix MinGW build 2017-09-19 10:28:26 -07:00
table print more table_options to info log 2017-10-13 14:42:26 -07:00
third-party
tools db_bench randomtransaction print throughput 2017-10-16 18:42:25 -07:00
util arena: derive alignment unit from std::max_align_t 2017-10-17 11:13:19 -07:00
utilities Blob DB: Store blob index as kTypeBlobIndex in base db 2017-10-17 17:28:11 -07:00
.clang-format
.gitignore
.travis.yml fix lite build 2017-10-17 08:57:09 -07:00
appveyor.yml Add -DPORTABLE=1 to MSVC CI build 2017-08-31 16:42:48 -07:00
AUTHORS
CMakeLists.txt PinnableSlice move assignment 2017-10-12 18:28:24 -07:00
CONTRIBUTING.md
COPYING
DEFAULT_OPTIONS_HISTORY.md
DUMP_FORMAT.md
HISTORY.md rate limit auto-tuning 2017-10-04 19:15:01 -07:00
INSTALL.md Default one to rocksdb:x64-windows 2017-09-28 16:12:24 -07:00
issue_template.md Add a template for issues 2017-09-29 11:41:28 -07:00
LANGUAGE-BINDINGS.md add Erlang to the list of language bindings 2017-08-28 16:43:16 -07:00
LICENSE.Apache
LICENSE.leveldb
Makefile PinnableSlice move assignment 2017-10-12 18:28:24 -07:00
README.md
ROCKSDB_LITE.md
src.mk PinnableSlice move assignment 2017-10-12 18:28:24 -07:00
TARGETS PinnableSlice move assignment 2017-10-12 18:28:24 -07:00
thirdparty.inc
USERS.md Add LogDevice to USERS.md 2017-09-25 15:56:40 -07:00
Vagrantfile
WINDOWS_PORT.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/