Reference implementation of a scalable storage system with strong consistency

acidscalabilitystorage

Is there a storage system with these properties?

  • horizontally scalable – can handle arbitrary read and write throughput if you add enough nodes to the cluster
  • consistent, in the sense that all reads will reflect the latest successful writes
  • [edit] "safe" in the sense that if a write is reported successful, it is guaranteed that all subsequent successful reads will reflect that write
  • tolerant of individual node failures

In CAP terms, I'm interested in systems which guarantee consistency rather than availability in the event of network partitions. Or systems which at least can be configured to behave this way.

I'm not concerned with latency, as long as writes are guaranteed to terminate eventually.

I'm not asking which tool I "should use". I'm asking, out of academic interest, for a proof of concept of a CP storage system. It doesn't matter if it's modern, actively maintained, widely used or what not; I'm just seeking a reference implementation.

Best Answer

The image in this article is used quite a bit around the internet in various different forms but it highlights which systems fall in each category of CAP

So your are basically asking which horizontally scalable systems don't rely on eventual consistency. To which MongoDB, HBase and many more would be a good answer.