A dimension that hasn't received much attention yet is the amount of parallelism that results from each of the approaches. There are (at least) two metrics by which you can say "reads scale".
(a) More replicas --> more read requests can be served independently (number of requests that can be served scales ~linearly with number of replicas). Each request (for the purposes of this argument) makes no use of parallelism. (b) More partitions/shards --> more parallelism in each request (amount of parallelism increases ~linearly with number of partitions/shards). Schemes (1) and (2) from Jim's blog scale reads in terms of (a), scheme (3) scales reads in terms of (a)[*] and (b)[**] [*] Assuming each partition is replicated [**] Assuming the traversal technology is "resource aware": makes use of aggregate resources (multiple partitions) to achieve parallelism. I.e. if you wanted to run one very large (read: forbidden/not-graphy) traversal like page-rank on the entire graph you would benefit if you could make use of aggregate resources (CPU,RAM) across all partitions. Regardless of how you cut your graph, the way you then traverse it has to be "resource-aware". It has to know about, and be capable of using, the compute resources on other machines. E.g. Neo4j "graph walking" vs Pregel "vertex gossiping". Discuss...? On Wed, Mar 23, 2011 at 6:22 PM, Emil Eifrem <[email protected]> wrote: > Absolutely. Option #3 can scale writes horizontally. > > Cheers, > > -EE > > On Tue, Mar 22, 2011 at 22:20, Guru GV <[email protected]> wrote: > > From Neo4j perspective - would there be strategies that would scale well > for > > writes? Just curious. > > > > On Tue, Mar 22, 2011 at 6:37 AM, Jim Webber <[email protected]> > wrote: > >> > >> Duly updated, thanks for the feedback. > >> > >> Jim > >> > >> On 22 Mar 2011, at 00:56, Emil Eifrem wrote: > >> > >> > Great post. Only thing I'd add is that a weakness of 1 & 2 is that > >> > while they scale ~linearly for reads, they don't scale writes. Maybe > >> > that's obvious but it may be worth pointing out anyway. > >> > > >> > Cheers, > >> > > >> > -EE > >> > > >> > On Mon, Mar 21, 2011 at 17:47, Jim Webber <[email protected]> > wrote: > >> >> With especial thanks to Mark Harwood and Alex Averbuch, I wrote this > on > >> >> approaches for scaling: > >> >> > >> >> > >> >> > http://jim.webber.name/2011/03/22/ef4748c3-6459-40b6-bcfa-818960150e0f.aspx > >> >> > >> >> Your thoughts would be most welcome. > >> >> > >> >> Jim > >> >> > >> >> _______________________________________________ > >> >> Neo4j mailing list > >> >> [email protected] > >> >> https://lists.neo4j.org/mailman/listinfo/user > >> >> > >> > > >> > > >> > > >> > -- > >> > Emil Eifrém, CEO [[email protected]] > >> > Neo Technology, www.neotechnology.com > >> > Cell: +46 733 462 271 | US: 206 403 8808 > >> > http://blogs.neotechnology.com/emil > >> > http://twitter.com/emileifrem > >> > >> _______________________________________________ > >> Neo4j mailing list > >> [email protected] > >> https://lists.neo4j.org/mailman/listinfo/user > > > > > > > > -- > Emil Eifrém, CEO [[email protected]] > Neo Technology, www.neotechnology.com > Cell: +46 733 462 271 | US: 206 403 8808 > http://blogs.neotechnology.com/emil > http://twitter.com/emileifrem > _______________________________________________ > Neo4j mailing list > [email protected] > https://lists.neo4j.org/mailman/listinfo/user > _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

