Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

dongdaoguang/titan

Repository files navigation

Titan: A RocksDB Plugin to Reduce Write Amplification

Build Status codecov

Titan is a RocksDB Plugin for key-value separation, inspired by WiscKey. For introduction and design details, see our blog post.

Build and Test

Titan relies on RocksDB source code to build. You need to checkout RocksDB source code locally, and provide the path to Titan build script.

# To build:
mkdir -p build
cd build
cmake ..
make -j<n>
# To specify custom rocksdb
cmake .. -DROCKSDB_DIR=<rocksdb_source_dir>
# or
cmake .. -DROCKSDB_GIT_REPO=<git_repo> -DROCKSDB_GIT_BRANCH=<branch>
# Build static lib (i.e. libtitan.a) only:
make titan -j<n>
# Release build:
cmake .. -DROCKSDB_DIR=<rocksdb_source_dir> -DCMAKE_BUILD_TYPE=Release
# Building with sanitizer (e.g. ASAN):
cmake .. -DROCKSDB_DIR=<rocksdb_source_dir> -DWITH_ASAN=ON
# Building with compression libraries (e.g. snappy):
cmake .. -DROCKSDB_DIR=<rocksdb_source_dir> -DWITH_SNAPPY=ON
# Run tests after build. You need to filter tests by "titan" prefix.
ctest -R titan
# To format code, install clang-format and run the script.
bash scripts/format-diff.sh

Compatibility with RocksDB

Current version of Titan is developed and tested with RocksDB 6.4.

About

A RocksDB plugin for key-value separation, inspired by WiscKey.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • C++ 96.5%
  • Shell 1.6%
  • CMake 1.6%
  • C 0.3%

AltStyle によって変換されたページ (->オリジナル) /