Question

I'm looking for a persistent key value storage that supports consistency, availability and compare-and-set.

It will be deployed on three nodes and must be operable when one (any) of nodes is down. If the whole cluster goes offline (due to a power problems for an example) and then is back online it shouldn't lose any data. Also I expect the system not to bother a system administrator unless two nodes are down. Of cause it is desirable to be as fast as it possible. And the most important feature is consistency: if something is reported to be saved it can't be lost due to a failure.

I explored MongoDB's docs that in some rare situation it requires manual intervention, but it's not optional.

Another system I looked over was Voldemort. I assume it meets my requirements with following settings:

<replication-factor>3</replication-factor>
<required-reads>2</required-reads>
<required-writes>2</required-writes>

but it doesn't provide comprehensive docs about replication and consistency, so I can't verify my assumption.

Do you have an experience with a storage that fits my requirements? Could you recommend me something?

P.S. I'm not intent to store huge amount of information, so sharding may be omitted.

Était-ce utile?

La solution

If you use MongoDB with a Write Concern of 'majority', then you will never lose data, and you will never have a rollback.

The Write Concern of 'majority' (or of '2' in a three-node replica set) will perform the equivalent of the 'required-writes' 2 in Voldemort.

Reference:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top