Thursday, October 07, 2010

You Can't Sacrifice Partition Tolerance | codahale.com

You Can't Sacrifice Partition Tolerance | codahale.com: "As a thought experiment, imagine a distributed system which keeps track of a single piece of data using three nodes—A, B, and C—and which claims to be both consistent and available in the face of network partitions. Misfortune strikes, and that system is partitioned into two components: {A,B} and {C}. In this state, a write request arrives at node C to update the single piece of data.

That node only has two options:

1. Accept the write, knowing that neither A nor B will know about this new data until the partition heals.
2. Refuse the write, knowing that the client might not be able to contact A or B until the partition heals.

You either choose availability (Door #1) or you choose consistency (Door #2). You cannot choose both.

- Sent using Google Toolbar"

No comments: