join the nosql movement cap theoremthe problem with dbs on many nodes once database gets spread out over different serversit' difficult to follow the acid principle because of the consistency acid promisesthe cap theorem points out why this becomes problematic the cap theorem states that database can be any two of the following things but never all threepartition tolerant--the database can handle network partition or network failure available--as long as the node you're connecting to is up and running and you can connect to itthe node will respondeven if the connection between the different database nodes is lost consistent--no matter which node you connect toyou'll always see the exact same data for single-node database it' easy to see how it' always available and consistentavailable--as long as the node is upit' available that' all the cap availability promises consistent--there' no second nodeso nothing can be inconsistent things get interesting once the database gets partitioned then you need to make choice between availability and consistencyas shown in figure let' take the example of an online shop with server in europe and server in the united stateswith single distribution center german named fritz and an american named freddy are shopping at the same time on that same online shop they see an item and only one is still in stocka bronzeoctopus-shaped coffee table disaster strikesand communication between the two local servers is temporarily down if you were the owner of the shopyou' have two optionsavailability--you allow the servers to keep on serving customersand you sort out everything afterward consistency--you put all sales on hold until communication is reestablished partitioned available consistent figure cap theoremwhen partitioning your databaseyou need to choose between availability and consistency in the first casefritz and freddy will both buy the octopus coffee tablebecause the last-known stock number for both nodes is "oneand both nodes are allowed to sell itas shown in figure if the coffee table is hard to come byyou'll have to inform either fritz or freddy that he won' receive his table on the promised delivery date oreven worsehe will