Dan Weinreb on Michael Stonebraker’s network partition scenarios from the overly discussed paper about ☞ Erros in Database Systems, Eventual Consistency, and the CAP Theorem :
If you mean a few computers connected together by an Ethernet, with redundant hardware all around, then the chance of a failure of the network itself is relatively low. However, real-world data centers with a relatively large number of servers rarely work this way. The problem is that a real network is very complicated. It depends on switches at both level 3 (routers) and level 2 (hubs). Situations can arise in which pieces of the network are mis-configured by accident; these can be hard to find due, ironically, the very redundancy that was added to avoid failures. In particular, there is no way to make any kind of guarantee about the latency within the network, nor the likelihood that a packet will make it from its source to its destination.
John Hugg (VoltDB) made an interesting comment:
Step 1: Figure out how much the network partitions that will cause your system to be unavailable will cost.
Step 2: Figure out how much giving up consistency will cost.
Step 3: Make your CAP decision base on these estimated values.
Original title and link: Errors in Database Systems Still Must Consider Network Partitions (NoSQL databases © myNoSQL)