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

Reply via email to