It would be nice to put this discussion in the blog comments too, so that outside people can benefit from that?
Cheers Michael Am 24.02.2011 um 11:23 schrieb Jim Webber: > Hi Mark, > >> A nice clear post. The choice of "Router" is obviously key. For the given >> routing examples based on user or geo it should be possible to map a request >> to a server. For many other situations it may prove much harder to determine >> which server has a warm cache because there is no user and there is no >> overarching idea of locality that you have with the geo example to organise >> the graph into logical shards? Are you not left with the partitioning >> problem in these cases? > > Yeah you're right of course, if there's no natural key to establish a good > route then you're sunk. You might as well go with sticky sessions. I think > this approach is a valid interim pattern for domains where there is a natural > key for routing. > > For those domains which exhibit random access to data, then it's not going to > be very beneficial. But then I don't believe graph sharding will be helpful > either - that's just about where to host graph nodes. Random behaviour means > you'll normally pick the wrong place to host the node, and then some kind of > consistency/replication protocol kicks in to redress that wrong choice. > > But in answering this, I wonder if there are actually two use cases here: > > 1. Speed - addressed by hitting caches, whether through routing or careful > placement of nodes on db instances. > 2. Size - for datasets way past machine limits (petabytes, exabytes), we just > can't replicate the whole dataset on each machine because it's impractical. > > For (1) I think routing is fine and equivalent to, though simpler than, > sharding. For (2) routing is a smaller part of the picture (Bloom filters to > get requests routed to a hot replica is about is interesting), but sharding > (the unsolved research problem) is super important. > > Jim > > _______________________________________________ > Neo4j mailing list > [email protected] > https://lists.neo4j.org/mailman/listinfo/user _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

