Go to file
Peter Dillinger b5827c806c Revert to LIB_MODE=static for optimized builds (#11195)
Summary:
Continuous performance testing indicates there's a small performance hit with shared library (-fPIC) builds, so while retaining the motivation for https://github.com/facebook/rocksdb/issues/11168, we set the default for DEBUG_LEVEL=0 Makefile builds back to LIB_MODE=static.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/11195

Test Plan: CI, with some updated checks and removal of some now obsolete LIB_MODE overrides

Reviewed By: cbi42

Differential Revision: D43090576

Pulled By: pdillinger

fbshipit-source-id: 755fe5d07005f85caf24e16f90228ffd46a6e250
2023-02-07 11:26:55 -08:00
.circleci Revert to LIB_MODE=static for optimized builds (#11195) 2023-02-07 11:26:55 -08:00
.github/workflows ci: add GitHub token permissions for workflow (#10549) 2022-10-04 12:10:30 -07:00
buckifier Cleanup, improve, stress test LockWAL() (#11143) 2023-01-30 22:52:30 -08:00
build_tools Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
cache Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
cmake
coverage Enable BLACK for internal_repo_rocksdb (#10710) 2022-09-20 17:47:52 -07:00
db Simplify TEST_F(DBWALTest, FixSyncWalOnObseletedWalWithNewManifestCausingMissingWAL) (#11186) 2023-02-06 16:10:03 -08:00
db_stress_tool Support using GetEntity as a verification method in the non-batched stress tests (#11144) 2023-01-31 10:17:48 -08:00
docs Bump commonmarker from 0.23.6 to 0.23.7 in /docs (#11128) 2023-01-26 12:07:52 -08:00
env Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
examples Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
file Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
fuzz Add some missing headers (#10519) 2022-08-11 12:45:50 -07:00
include/rocksdb Deprecate write_global_seqno and default to false (#11179) 2023-02-03 13:00:04 -08:00
java Add kForceOptimized option to jni (#11181) 2023-02-07 10:14:14 -08:00
logging Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
memory Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
memtable Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
microbench Avoid allocations/copies for large `GetMergeOperands()` results (#10458) 2022-08-04 00:42:13 -07:00
monitoring Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
options Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
plugin
port Fix compile gettid on older Linux (#11184) 2023-02-03 16:49:54 -08:00
table Use user key on sst file for blob verification for Get and MultiGet (#11105) 2023-01-30 10:21:21 -08:00
test_util Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
third-party
tools Fix regression_test.sh for LIB_MODE=shared default (#11194) 2023-02-06 19:44:25 -08:00
trace_replay Fix error maybe-uninitialized #11100 (#11101) 2023-01-19 13:59:48 -08:00
util Return any errors returned by ReadAsync to the MultiGet caller (#11171) 2023-02-02 16:35:27 -08:00
utilities Ensure LockWAL() stall cleared for UnlockWAL() return (#11172) 2023-02-03 12:08:37 -08:00
.clang-format
.gitignore Git ignore .clangd/ (#10817) 2022-10-17 08:33:58 -07:00
.lgtm.yml
.watchmanconfig
AUTHORS
CMakeLists.txt Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
COPYING
DEFAULT_OPTIONS_HISTORY.md
DUMP_FORMAT.md
HISTORY.md Use LIB_MODE=shared build by default with make (#11168) 2023-02-03 15:28:52 -08:00
INSTALL.md Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
LANGUAGE-BINDINGS.md Add grocksdb in Go language bindings (#10498) 2022-08-23 15:02:10 -07:00
LICENSE.Apache
LICENSE.leveldb
Makefile Revert to LIB_MODE=static for optimized builds (#11195) 2023-02-07 11:26:55 -08:00
PLUGINS.md Add pmem-rocksdb-plugin link in PLUGINs.md (#9934) 2022-05-12 22:02:28 -07:00
README.md Remove Travis CI (#10407) 2022-07-22 20:16:45 -07:00
TARGETS Revert #10802 Consider range tombstone in compaction output file cutting (#11089) 2023-01-13 12:28:21 -08:00
USERS.md Add Apache Spark as a user (#10993) 2022-11-28 09:42:42 -08:00
Vagrantfile
WINDOWS_PORT.md
common.mk Clean up variables for temporary directory (#9961) 2022-05-06 16:38:06 -07:00
crash_test.mk Allow a custom DB cleanup command to be passed to db_crashtest.py (#10883) 2022-10-27 19:47:01 -07:00
issue_template.md
rocksdb.pc.in build: fix pkg-config file generation (#9953) 2022-05-30 12:46:40 -07:00
src.mk Revert #10802 Consider range tombstone in compaction output file cutting (#11089) 2023-01-13 12:28:21 -08:00
thirdparty.inc

README.md

RocksDB: A Persistent Key-Value Store for Flash and RAM Storage

CircleCI Status Appveyor 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 especially suitable for storing multiple terabytes of data in a single database.

Start with example usage here: https://github.com/facebook/rocksdb/tree/main/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.

Questions and discussions are welcome on the RocksDB Developers Public Facebook group and email list on Google Groups.

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.