Find a file
Yi Wu 0552029b5c Blob DB: not writing sequence number as blob record footer
Summary:
Previously each time we write a blob we write blog_record_header + key + value + blob_record_footer to blob log. The footer only contains a sequence and a crc for the sequence number. The sequence number was used in garbage collection to verify the value is recent. After #2703 we moved to use optimistic transaction and no longer use sequence number from the footer. Remove the footer altogether.

There's another usage of sequence number and we are keeping it: Each blob log file keep track of sequence number range of keys in it, and use it to check if it is reference by a snapshot, before being deleted.
Closes https://github.com/facebook/rocksdb/pull/3005

Differential Revision: D6057585

Pulled By: yiwu-arbug

fbshipit-source-id: d6da53c457a316e9723f359a1b47facfc3ffe090
2017-10-17 12:13:08 -07:00
buckifier rocksdb: make buildable on aarch64 2017-08-13 17:13:54 -07:00
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 Fix /bin/bash shebangs 2017-08-03 15:56:46 -07:00
db fix delete range bug 2017-10-17 11:13:19 -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 Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
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 Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
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: not writing sequence number as blob record footer 2017-10-17 12:13:08 -07:00
.clang-format
.gitignore Remove leftover references to phutil_module_cache 2017-08-23 12:12:21 -07:00
.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/