Barrel (https://barrel-db.org) is a modern multi-purpose database in Erlang focusing on data locality (put/match the data next to you) and P2P. Building a database in Erlang is indeed challenging. I/Os are handled differently from the other VM for example. Performance is always a trade-off versus the concurrency and the fault tolerance. On the other hand, Erlang, its
Talk objectives:
This talk will show how we built Barrel in Erlang, using C when we needed it, which pattern we choose to achieve the read/write concurrency and how we distribute the data. It will show you also how we built a P2P protocol allowing us to distribute our data without any bottleneck.
SlidesIn this tutorial we will explore:
What is
How to handle your data in Barrel
The synchronisation of your data between your applications in Elixir or Erlang without any locking and bottleneck.
The addition of new
Summary:
In physics, the concept of locality is that, for an action at one point to have an influence at another point, something in the space between the points, such as a field, must mediate the action. This exactly what is trying Barrel, a modern multi-purpose database in Erlang focusing on data locality. With
Audience:
Erlanger who wants to synchronize its data between multiple locations without conflicts in Erlang or Elixir.
Slides
Benoît Chesneau is a internet craftsman, living near Paris. He has years of experience in building small and big-scale database backend websites. He is the founder of a company building innovative web services and open-source applications. Benoît Chesneau is also the founder of the Barrel projects, the author of Gunicorn and multiple other opensource projects in Python and Erlang. GitHub:
benoitc
Twitter:
@benoitc