Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm sorry, but I can't resist: Isn't the cap theorem irrelevant, because true network partitions never happen in the real world? If a link fails, an administrator will fix it eventually. With any system implementing ACK packets (tcp is one example) a link that fails but is then fixed is the same as a very slow link.


If your system can stand to be down or unresponsive until the IT guy shows up to fix it, then sure.

But if your definition of "available and consistent" goes beyond this, then you have to start considering the CAP theorem.


The theorem doesn't set any time constraints, so yeah it's pretty much irrelevant in practical terms.

It's one of these worst-case scenarios where worst-case doesn't matter.


I don't think you should be sorry. I was wondering the same thing. If messages can't get lost (because of good network monitoring), can't you have perfect consistency and availability?

That said, practically speaking your system may have to wait for the partition to be fixed, which would either make the system practically unavailable or practically inconsistent. But not theoretically, at least, not as this site describes it.


This question is directly responded to in the article "You Can't Sacrifice Partition Tolerance" by Coda Hale.

http://codahale.com/you-cant-sacrifice-partition-tolerance/

https://news.ycombinator.com/item?id=1768312


We can turn the link catch into something practical and real by having redundant linking hardware and a really good sysadmin team. When your network going down is just as unlikely as all your servers going down at the same time you can be said to have won.


> With any system implementing ACK packets (tcp is one example) a link that fails but is then fixed is the same as a very slow link.

This is only even theoretically true if a) you have no bound on memory and b) the link will always come back up. In practice, neither of these is true.

Further, if you're relying on never being partitioned then any network break requires delaying availability until the partition is resolved. CAP is then relevant if you're not willing to do this (and virtually no one is going to be so inclined).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: