Find a file
Andrew Kryczka 1bdb44de95 optimize file ingestion checks for range deletion overlap
Summary:
Before we were checking every file in the level which was unnecessary. We can piggyback onto the code for checking point-key overlap, which already opens all the files that could possibly contain overlapping range deletions. This PR makes us check just the range deletions from those files, so no extra ones will be opened.
Closes https://github.com/facebook/rocksdb/pull/3179

Differential Revision: D6358125

Pulled By: ajkr

fbshipit-source-id: 00e200770fdb8f3cc6b1b2da232b755e4ba36279
2017-11-28 11:27:02 -08:00
buckifier
build_tools
cache Support for block_cache num_shards and other config via option string. 2017-11-28 10:48:53 -08:00
cmake
coverage
db optimize file ingestion checks for range deletion overlap 2017-11-28 11:27:02 -08:00
docs
env
examples
hdfs
include/rocksdb Fix minor typo in comment 2017-11-28 11:27:02 -08:00
java Add a ticker stat for number of keys skipped during iteration 2017-11-20 21:26:37 -08:00
memtable
monitoring Add a ticker stat for number of keys skipped during iteration 2017-11-20 21:26:37 -08:00
options Support for block_cache num_shards and other config via option string. 2017-11-28 10:48:53 -08:00
port
table Support for block_cache num_shards and other config via option string. 2017-11-28 10:48:53 -08:00
third-party
tools Blob DB: db_bench flag to control BlobDB's garbage collection 2017-11-20 23:26:15 -08:00
util
utilities WritePrepared Txn: Add MultiGet to DB 2017-11-27 08:56:21 -08:00
.clang-format
.gitignore
.travis.yml
appveyor.yml
AUTHORS
CMakeLists.txt
CONTRIBUTING.md
COPYING
DEFAULT_OPTIONS_HISTORY.md
DUMP_FORMAT.md
HISTORY.md
INSTALL.md
issue_template.md
LANGUAGE-BINDINGS.md Add Elixir to the list of language bindings 2017-11-21 10:13:14 -08:00
LICENSE.Apache
LICENSE.leveldb
Makefile
README.md
ROCKSDB_LITE.md
src.mk
TARGETS
thirdparty.inc
USERS.md Added ProfaneDB 2017-11-19 10:11:44 -08: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/