hse-project / hse

HSE: Heterogeneous-memory storage engine
https://hse-project.github.io
670 stars 65 forks source link
key-value key-value-database key-value-store

HSE: Heterogeneous-Memory Storage Engine

HSE is a fast embeddable key-value store designed for SSDs and persistent memory. HSE optimizes performance and endurance by orchestrating data placement across DRAM and multiple classes of solid-state storage.

HSE is ideal for powering Databases, Software-Defined Storage (SDS), High-Performance Computing (HPC), Internet of Things (IoT), and Machine Learning (ML).

Key Features:

Benefits:

Getting Started

The HSE project documentation contains all the information you need to get started with HSE.

Building

Grab a copy of the HSE source code from either a release tarball or cloning the repo.

HSE uses the Meson build system. The minimum version of Meson required to build HSE can be found in the root meson.build. In there, you will find a meson_version keyword argument to the project() function at the beginning of the file. If your system doesn't supply a Meson version new enough to build HSE, refer to the Meson installation instructions.

meson setup build
meson compile -C build
meson install -C build

# To uninstall
ninja -C build uninstall

The default install directory is /opt/hse. This can be overridden by configuring the build with either -Dprefix=$prefix or --prefix=$prefix.

Dependencies

You may need to install additional packages to build or run HSE for your particular Linux distribution and environment. See INSTALL.md for examples of the packages required for several common Linux distributions.

Configuring

HSE comes with many build options. Run the following command to view all available build options:

meson configure
For Distribution Maintainers

The following HSE-specific build options are recommended for distributing HSE:

meson setup build -Dbuildtype=release -Dexperimental=false -Dtools=disabled \
    -Dsamples=false -Dbindings=none

Additional References

Information on running test suites and contributing to HSE is located in the CONTRIBUTING.md file.

We integrated HSE with several common applications to demonstrate its capabilities.