Barrel

Distributed Database for
the modern world


Download BARREL;Join the community

A P2P document-oriented database
with modern features.


Barrel is a modern document-oriented database in Erlang focusing on data locality (put/match the data next to you) and P2P.

Barrel must also be able to work in unreliable conditions were sometimes the quorum can't be achieved (because it is working offline or in other conditions).

Because Barrel is built on an existing relatively small code base, it is possible to make radical changes as part of an incremental process. Underpinning, all this work is efficient for small and large data systems — something rare among database systems.

Features and Benefits


Mobiles and embedded hardware friendly

With the master-master replication you makes sure that even when your hardware become offline you will be able to exchange your data with other devices on your platform.

Your data is safe

With an append-only design coupled with the replication, it will be hard to lose your data.

http

HTTP API

All the Barrel API is available via HTTP. You can use any HTTP client in the language of your choice to manipulate your data.


highly extensible

Use existing plugins. Develop and customize Barrel for your needs.

Opensource

Everyone has the freedom to use and customize the Barrel code, according to the Apache 2 license. No lock in. Try it and use it for free. Extend it and adapt it, if you need to.

Community friendly

Barrel uses the C4.1 (Collective Code Construction Contract) process for contributions.

Use cases

Barrel meets the requirements of many use cases. The following are just some examples of what you can do.


inbox

Shared message box

Build a mailbox shared inside your team

track_changes

Disconnected applications

If your application works most of the time offline but you still need to retrieve and update data from it without to care much of conflicts then barrel is for you.

group

Build a collaborative video editor

Edit different parts of the rush you just did and synchronize these changes with others.


cloud

Deploy your data in the cloud

Synchronize your data between multiple data-center or geo locations.

phonelink

Connect your devices

Write the text on your phone and pick up where you left off when you sit down at your desktop. Build your own Handoff service.

share

Build a P2P data platform

Share your data between different nodes over the WEB.