Giter Club home page Giter Club logo

speedb's Introduction

GitHub GitHub contributors GitHub pull requests GitHub closed pull requests

Speedb

Speedb is a library that provides a high performance, persistent key-value store. This is a community led project that focuses on high performance, optimized for modern storage hardware, on-premise and in the cloud. It is maintained by Speedb and is forked from Rocksdb, developed by Facebook.

Join us to build the next generation data engine!

Usage

  • If speedb is in your default library path:

    In your CMakeLists.txt add:

    target_link_libraries(${PROJECT_NAME} speedb)
    

    where PROJECT_NAME is the name of your target application which uses speedb

  • Otherwise, you have to include the path to the folder the library is in like so:

    target_link_libraries(${PROJECT_NAME} /path/to/speedb/library/folder)
    

Usage of the library in your code is the same regardless of whether you statically linked the library or dynamically linked it, and examples can be found under the examples directory. 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.

Build dependencies

Please refer to the file INSTALL.md for a list of all the dependencies and how to install them across different platforms.

๐Ÿ”จ Building Speedb

Debug:

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug [cmake options]
make speedb

By default the build type is Debug.

Release:

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release [cmake options]
make speedb

This will build the static library. If you want to build the dynamic library, use:

make speedb-shared

If you want make to increase the number of cores used for building, simply use the -j option.

If you want to build a specific target:

make [target name]

For development and functional testing, go with the debug version which includes more assertions and debug prints. Otherwise, for production or performance testing, we recommend building a release version which is more optimized.

๐Ÿ“ˆ Performance

We are using DBbench to test performance and progress between the versions. It is available under tools and also in the artifact for direct download. In there you can also find a readme with the commands we are using to get you started. Here is a graph comparing Speedb's paired bloom filter with the default bloom filter.ย 

Screen Shot 2022-10-31 at 15 15 42

For additional info see: Paired Bloom Filter.

Documentation

You can find a detailed description of all Speedb features here.

Speedb's documentation repository allows you to enhance, add content and fix issues.

๐Ÿ›ฃ๏ธ Roadmap

The product roadmap provides a snapshot of the features we are currently developing, what we are planning for the future, and the items that have already been delivered.

We have added a column with items that are awaiting community feedback. We invite you to participate in our polls inside, share your thoughts about topics that are important to you, and let us know if there is anything else you would like to see on the list.

โ” Questions

  • For live discussion with the community you can use our official Discord channel.
  • For technical questions and discussions you can use our official Discourse forum.

๐ŸŒŽ Join us

Speedb is committed to a welcoming and inclusive environment where everyone can contribute.

Contributing code

See the contributing guide.

License

Speedb is open-source and licensed under the Apache 2.0 License.

speedb's People

Contributors

siying avatar igorcanadi avatar ajkr avatar yhchiang avatar riversand963 avatar pdillinger avatar islamabdelrahman avatar adamretter avatar ltamasi avatar dhruba avatar fyrz avatar jay-zhuang avatar yuslepukhin avatar sagar0 avatar akankshamahajan15 avatar lightmark avatar mrambacher avatar miasantreble avatar zhichao-cao avatar liukai avatar emayanke avatar nathan-bo avatar haoboxu avatar agiardullo avatar mdcallag avatar rven1 avatar isaac-io avatar hx235 avatar joelmarcey avatar al13n321 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.