> -----Original Message----- > From: Alen Peacock > Subject: [p2p-hackers] decentralization in the datacenter > > Even with all that, it still surprises me when smart people defend > the practice of using traditional centralized techniques for systems > which they expect to scale, when we know that getting that to work > involves the ugly prospect of doing things like sharding dbs, > segregating user pools, etc., when there are clearly better > alternatives. Thanks to the likes of the Dynamo paper (and friends > such as BigTable), we can even now say "when there are clearly better > /proven/ alternatives." > > Maybe centralized techniques remain so attractive because they are > so simple to implement initially, and because they work in the > beginning. And maybe since most projects fail before getting to the > point where they /really/ need to scale, people come away thinking > that the centralized thing they did works just fine. Maybe it's just > human nature. But when popular systems grow rapidly and hit that > scalability wall where centralized components start to creak and pop, > I think you'll find few engineers who will claim they were ever a good > idea.
Maybe this is an obvious point, but to be clear there's a difference between "decentralized" and "distributed". I agree only distributed systems can scale. But I disagree that only *decentralized* systems can scale. Indeed, I'd say that the primary reason decentralized systems are generally thought to be scaleable is because they're also distributed. But I've yet to see any real evidence that the decentralization itself adds anything to scalability -- show me a scalable decentralized system, and I'll show you a centralized/distributed system that scales even better. Distributed systems can be enormously scalable even though centrally controlled. DNS is a good example of a massively distributed but completely centralized service. By extension, you could say that all services that depend on DNS (web, email, etc) are also massively distributed but completely centralized. BitTorrent is another example (relying upon DNS and trackers, both of which are centralized but distributed). At the end of the day, the only value I see to decentralization is that it prevents central control. This is only useful if your application expressly requires a lack of central control (for privacy/anonymity reasons). If your application doesn't require a lack of central control, then more often than not that central control can be extremely powerful and useful. (Not to mention, centrally-controlled systems are much easier to build, maintain, grow, etc.) Anyway, all this might be obvious, but I wanted to clarify just in case. -david _______________________________________________ p2p-hackers mailing list [email protected] http://lists.zooko.com/mailman/listinfo/p2p-hackers
