3 ms·
Dropbox is distributed. According to the article, it uses AWS, which is a Dynamo based system. Among its other features, Dynamo allows you to distribute data
by MCRed 12y ago
Dropbox is distributed. According to the article, it uses AWS, which is a Dynamo based system. Among its other features, Dynamo allows you to distribute data across many servers, using a hash of the data's key in order to look it up (each server gets some of the keyspace).
Riak is a similar type system.
Dropbox is "centralized" in the sense that it is one service, but it's not the opposite of distributed which would mean "running all on one computer."
Edit: I said "hash of the data's key" but really it's a hash of the key plus the bucket.
- asgard1024 12y agoI think you missed the point. The big question is, what is "one computer"? It surely isn't just one atom (one point in space). Is something running on a CPU with several ALUs a distributed system? Is something running on a multicore server a distributed system? So it seems, distributed systems are not defined in terms of spatial or logical distribution of "stuff being done" (because everything is distributed in this sense), but rather by assumption of (un)reliability of the links between the components, and the choice of components. And this may depend on your vantage point, too. So if that reliability is good enough, you don't need theory of distributed systems, and it all makes the system more efficient. In that sense, Dropbox is more efficient than P2P solution because you have hidden assumption (from the user perspective) that Dropbox servers will always be available. Edit: Also reliability of components plays a role. Thinking about it more, it really seems to be a question of hierarchy. Distributed systems are less hierarchical than the centralized counterparts; there are less bottlenecks (that may fail) but more coordination required. So the OP is basically arguing that some hierarchy scales better than no hierarchy.