[ANN] Khepri 0.2.1 - A tree-like replicated on-disk database library
Fri Feb 18 11:21:41 CET 2022
Very well done!!!
Anything that can save me (+my team) from Mnesia is always welcome.
Do you provide (throughput / latency) benchmarks?
> 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, 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  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
> 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!
>  https://github.com/rabbitmq/ra
>  https://github.com/rabbitmq/khepri/releases/tag/v0.2.0
> Jean-Sébastien Pédron
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions