Hacker News new | past | comments | ask | show | jobs | submit login
Distributed systems primer (evanweaver.com)
39 points by sant0sk1 on May 4, 2009 | hide | past | favorite | 12 comments



This post is full of errors. For example, Paxos is not about the Byzantine General's problem, Paxos is a consensus algorithm for the non-Byzantine case.


I fixed it, thanks. What other mistakes did you see?


It still reads "Basic Paxos handles a single failure; it can be extended to handle multiple untrustworthy nodes (the Byzantine generals problem)." which is incorrect.

The correct statement is "Paxos handles the failure of a minority of nodes" or "Paxos can make progress if a majority of nodes is alive and connected". Paxos does not deal with nodes that do not follow the protocol (ie. lie, have been hacked, etc, this is what 'byzantine' means). Paxos only deals with non-byzantine failure.


Removed the reference to Byzantine generals and used your language for basic Paxos; clarified Tokyo Cabinet.

Thanks, let me know if there are other issues.


Lamport's version of Paxos does not handle Byzantine failure, but later variations of it manage with an increased number of communication steps and a (n+3f)/2 valid acceptors requirement (where n is the total number of participants and f is the number of faulty participants).


Tokyo is a KV store, but it's not a distributed KV store, so saying it is an alternative to Amazon Dynamo is misleading.


Yeah, you need something like http://opensource.plurk.com/LightCloud/ to make it actually distributed. It does support replication though.


Yes, but its replication is similar to BDB's, a kind-of add-on/feature. It's not a full-blown replicated KV store like Google's Chubby with strong consistency, automatic failover, etc. Of course, not everybody needs that, I'm just saying...


Tokyo Tyrant can be used to build a distributed KV store with Tokyo Cabinet.

http://tokyocabinet.sourceforge.net/tyrantdoc/


Tokyo Tyrant is a network wrapper around Tokyo Cabinet, meaning it translates commands coming from the network to local db calls. In itself Tokyo Tyrant is not a a distributed KV store. Sure, it can be used to build one, but so can BDB, Mysql, or just about any other piece of software which takes data from the network and stores it on disk.

The part that actually coordinates all the different network wrappers to work in unison is what makes a software "distributed".


Hats of to the author, he did a very good job selecting the quintessentials.


No. Don't use a big word that you don't understand when a simple one will do.




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

Search: