Skip to content

patricklbell/plexdb

Repository files navigation

PlexDB

PlexDB is an experimental high-performance persistent and in-memory database.

A common storage layer is provided which supports:

  • A NoSQL database. Applications connect through the Cassandra drivers.
  • A key-value database. Applications connect through the Redis drivers.

Application developers may reference the examples in docs.

Download

Pre-built server binaries are attached to each release.

Building from source

Servers

Requires: CMake ≥ 3.28, liburing-devel ≥ 2.0. Tested with: Ninja, Clang ≥ 19.

cmake -B build -DCMAKE_BUILD_TYPE=Release
ninja -C build

Note that the configured compiler needs to support c++23 and modules

To enable io_uring as the I/O backend requires the CAP_IPC_LOCK capability or a RLIMIT_MEMLOCK large enough to cover the ring's buffers. RPM and DEB release packages set this capability automatically.

sudo setcap cap_ipc_lock+ep build/cql/plexdb_cql_server

Plugins

See the README.md files under plugins.

Development setup

After cloning, activate the pre-commit formatting hook:

git config core.hooksPath .hooks

The hook runs clang-format-19 --dry-run on staged files.

About

Experimental high performance in-memory and persistent database

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors