[ANN] Khepri 0.2.1 - A tree-like replicated on-disk database library

Frank Muller frank.muller.erl@REDACTED
Fri Feb 18 11:21:41 CET 2022

Hi Jean-Sébastien,

Very well done!!!

Anything that can save me (+my team) from Mnesia is always welcome.

Do you provide (throughput / latency) benchmarks?


<jean-sebastien.pedron@REDACTED>  :

> Hi!
> On behalf of the RabbitMQ team, I'm pleased to announce Khepri 0.2.1! It
> is available on:
>      * GitHub (https://github.com/rabbitmq/khepri/releases/tag/v0.2.1)
>      * Hex.pm (https://hex.pm/packages/khepri)
> Khepri is a tree-like replicated on-disk database library for Erlang and
> Elixir. This is a library we plan to use inside RabbitMQ as a
> replacement for Mnesia. Indeed, we want to leverage Ra[1], our
> implementation of the Raft consensus algorithm, to have a uniform
> behavior, especially w.r.t. network partitions, across all types of data
> managed by RabbitMQ.
> The release notes of 0.2.0 [2] describe the highlights of Khepri 0.2.x
> in detail, but I would like to quickly talk about the biggest one:
> triggers and stored procedures!
> Triggers are a mechanism to execute an anonymous function automatically
> following some events.
> Currently supported events are changes made to the tree: nodes were
> created, updated or deleted. In the future, it could support Erlang
> process monitoring, node monitoring, and so on. Triggers are registered
> using an event filter which, as its name suggests, takes care of
> filtering the event which should execute the associated function.
> The anonymous function behind a trigger is stored in the database as the
> payload of tree node. This function is called a stored procedure. Before
> it is stored, the function is extracted like transaction functions are.
> However, there are no restrictions on what it can do, unlike transaction
> functions.
> If you have any comments and feedback, or if you started to play with
> the library in one of your projects, please share! I’m looking forward
> to listen to your experience!
> Thank you very much!
> [1] https://github.com/rabbitmq/ra
> [2] https://github.com/rabbitmq/khepri/releases/tag/v0.2.0
> --
> Jean-Sébastien Pédron
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20220218/65935fd7/attachment.htm>

More information about the erlang-questions mailing list