[erlang-questions] Choice in Distributed Databases for a Key/Value Store

code wiget codewiget95@REDACTED
Fri Sep 15 18:43:40 CEST 2017


Hello everyone,

I am at the point where I have many Erlang nodes, and I am going to have to move to a distributed database. Right now, I am using a basic setup: each Erlang node has a copy of the same Redis DB, and all of those DBs are slaves(non-writable copies) of a master. A big problem with this is obvious - If the db goes down, the node goes down. If the master goes down, the slaves won’t get updated, so I would like to move to a distributed db that all of my nodes can read/write to that can not/does not go down.

The nodes do ~50 reads per write, and are constantly reading, so read speed and consistency is my real concern. I believe this will be the node’s main speed factor.

Another thing is that all of my data is key/key/value , so it would mimic the structure of ID -> name -> “Fred”, ID->age->20, so I don’t need a SQL DB.

A big thing also is that I don’t need disc copies, as a I have a large backup store where the values are generated from.

I have looked at as many options as I can ->

Voldemort : http://project-voldemort.com/ <http://project-voldemort.com/> 
- looks perfect, but there are 0 resources on learning how to use it outside of their docs and no Erlang driver, which is huge because I would both have to learn how to write a c driver and everything about this just to get it to work. 

Cassandra: http://cassandra.apache.org/ <http://cassandra.apache.org/>
- looks good too, but apparently there is a small community and apparently isn’t updated often

Scalaris: https://github.com/scalaris-team/scalaris/blob/master/user-dev-guide/main.pdf <https://github.com/scalaris-team/scalaris/blob/master/user-dev-guide/main.pdf>
- Looks very very cool, seems great, but there is 0 active community and their GitHub isn’t updated often. This is a distributed all in-memory database, written in Erlang.


So from my research, which consisted heavily of this blog:https://www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores <https://www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores> , I have narrowed it down to these three.

BUT you are all the real experts and have built huge applications in Erlang, what do you use? What do you have experience in that performs well with Erlang nodes spread across multiple machines and possibly multiple data centers?

Thanks for your time.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170915/c10b0c75/attachment.htm>


More information about the erlang-questions mailing list