Find a file
Yi Wu 662ce62044 Reduce iterator key comparison for upper/lower bound check (2nd attempt) (#5468)
Summary:
This is a second attempt for https://github.com/facebook/rocksdb/issues/5111, with the fix to redo iterate bounds check after `SeekXXX()`. This is because MyRocks may change iterate bounds between seek.

See https://github.com/facebook/rocksdb/issues/5111 for original benchmark result and discussion.

Closes https://github.com/facebook/rocksdb/issues/5463.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5468

Test Plan: Existing rocksdb tests, plus myrocks test `rocksdb.optimizer_loose_index_scans` and `rocksdb.group_min_max`.

Differential Revision: D15863332

fbshipit-source-id: ab4aba5899838591806b8673899bd465f3f53e18
2019-07-02 11:48:46 -07:00
buckifier
build_tools build on ARM64 (#5450) 2019-06-18 11:27:45 -07:00
cache LRU Cache to enable mid-point insertion by default (#5508) 2019-06-27 10:20:57 -07:00
cmake
coverage
db Reduce iterator key comparison for upper/lower bound check (2nd attempt) (#5468) 2019-07-02 11:48:46 -07:00
docs
env Fix AlignedBuffer's usage in Encryption Env (#5396) 2019-06-19 16:46:20 -07:00
examples
file
hdfs
include/rocksdb LRU Cache to enable mid-point insertion by default (#5508) 2019-06-27 10:20:57 -07:00
java Add an option to put first key of each sst block in the index (#5289) 2019-06-24 20:54:04 -07:00
logging
memory
memtable
monitoring Exclude StatsHistoryTest.ForceManualFlushStatsCF test from lite mode (#5529) 2019-07-01 16:37:08 -07:00
options LRU Cache to enable mid-point insertion by default (#5508) 2019-06-27 10:20:57 -07:00
port fix compilation error on MSVC (#5458) 2019-06-14 11:28:13 -07:00
table Reduce iterator key comparison for upper/lower bound check (2nd attempt) (#5468) 2019-07-02 11:48:46 -07:00
test_util Add an option to put first key of each sst block in the index (#5289) 2019-06-24 20:54:04 -07:00
third-party/gtest-1.7.0/fused-src/gtest
tools Remove multiple declarations o kMicrosInSecond. 2019-07-01 15:15:12 -07:00
trace_replay Remove multiple declarations o kMicrosInSecond. 2019-07-01 15:15:12 -07:00
util Fix from some C-style casting (#5524) 2019-07-01 13:05:34 -07:00
utilities Remove multiple declarations o kMicrosInSecond. 2019-07-01 15:15:12 -07:00
.clang-format
.gitignore
.lgtm.yml
.travis.yml Switch Travis to Xenial build (#4789) 2019-06-17 10:20:02 -07:00
appveyor.yml Also build compression libraries on AppVeyor CI (#5226) 2019-06-24 10:41:07 -07:00
AUTHORS
CMakeLists.txt Cache simulator: Refactor the cache simulator so that we can add alternative policies easily (#5517) 2019-07-01 12:46:32 -07:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
COPYING
DEFAULT_OPTIONS_HISTORY.md
defs.bzl
DUMP_FORMAT.md
HISTORY.md Reduce iterator key comparison for upper/lower bound check (2nd attempt) (#5468) 2019-07-02 11:48:46 -07:00
INSTALL.md
issue_template.md
LANGUAGE-BINDINGS.md
LICENSE.Apache
LICENSE.leveldb
Makefile Update the version of ZStd for the Rocks Java static build 2019-06-18 11:57:01 -07:00
README.md
ROCKSDB_LITE.md
src.mk Cache simulator: Refactor the cache simulator so that we can add alternative policies easily (#5517) 2019-07-01 12:46:32 -07:00
TARGETS Cache simulator: Refactor the cache simulator so that we can add alternative policies easily (#5517) 2019-07-01 12:46:32 -07:00
thirdparty.inc Fix build jemalloc api (#5470) 2019-06-24 17:40:32 -07:00
USERS.md Add Alluxio to USERS.md (#5434) 2019-06-13 12:25:26 -07:00
Vagrantfile
WINDOWS_PORT.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/

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.