Nati Shalom (Gigaspaces):
The diagram below illustrates one of the examples by which we could achieve write scalability and throughput without compromising on consistency.
As with the previous examples we break our data into partitions to handle our write scaling between nodes. To achieve high throughput we use in-memory storage instead of disk. As in-memory device tend to be significantly faster and concurrent then disk and since network speed is no longer a bottleneck we can achieve high throughput and low latency even when we use synchronous write to the replica.
Unfortunately, a couple of things are wrong:
- CAP theorem is not about write scalability. If we replace consistency, availability, or partition tolerance with another characteristic we will have to talk about a different theorem.
- Network speed is a bottleneck for cross data center communications. Plus it can go down.
- Considering the diagram below, with a partition in the network between the 2 in memory data grid nodes, please tell me how can you achieve maintain both consistency and availability.
My conclusion is simple: whatever solution/product/vendor you’re going to use the CAP theorem stands for all distributed systems.
Original title and link: NoCAP… Is Wrong (NoSQL databases © myNoSQL)