Peter,
Thank you very much for the info, it helped a lot.

I entirely agree with HA being a much better approach to scale out Neo4j and
I'll see to implement it ASAP to give you some feedback. Currently the
project is entering staging mode and as I do some benchmarks I'll see when
to use HA and how it perform out.

Thanks again for all, and just as a quick feedback, I'm pleased to read the
support given by you from Neo Technology in this mailing list (and actually
it's the only one that I keep in my inbox :P)

Best regards!

On Mon, Oct 18, 2010 at 6:44 PM, Peter Neubauer <
peter.neuba...@neotechnology.com> wrote:

> Victor,
> for scaling out, there are two approaches that we see people using to
> scale Neo4j:
>
> 1. Use HA to replicate several Neo4j instances
>
> High Availability as a Master-Slave scenario with Master failover is
> currently in QA, but is planned to be released as part of Neo4j 1.2
> and merged into the main component stream as of yesterday. So, the
> next milestone release 1.2.M02 (hopefully released on Thursday) has
> this built in, see
> http://wiki.neo4j.org/content/High_Availability_Cluster which will be
> fleshed out. This should enable you to scale reads transparently for
> your client code, since all slaves are writable.
>
> 2. Build an Event bus feeding multiple instances
>
> In order to have all data on all replicated Neo4j instances, you could
> for instance use a messaging system like RabbitMQ to feed all updates
> to all instances. This might have advantages for some scenarios, but
> mostly I would suggest to test 1. first.
>
> Does that help? Let the community know what issues you are
> experiencing in setting up Neo4j HA, would be great to get some
> feedback from you!
>
> Cheers,
>
> /peter neubauer
>
> VP Product Development, Neo Technology
>
> GTalk:      neubauer.peter
> Skype       peter.neubauer
> Phone       +46 704 106975
> LinkedIn   http://www.linkedin.com/in/neubauer
> Twitter      http://twitter.com/peterneubauer
>
> http://www.neo4j.org               - Your high performance graph database.
> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
>
>
>
> On Thu, Oct 7, 2010 at 9:54 PM, Victor Augusto de Campos
> <piv...@gmail.com> wrote:
> > Sorry Peter for the late reply (and the clumsy first email).
> >
> > I drew a very very simple diagram exemplifying the architecture, I don't
> > know if the list will support the attachment so if it doesn't, warn me :P
> >
> > As you can see by the diagram, my neo4j DB is running inside the REST app
> > that will read and write from the DB and also perform.
> >
> > The Reader is an application which reads out a queue, checks
> relationships
> > of an user making some action and send some messages based on those
> > relationships.
> > The website is indeed a back-end application which the real website is
> based
> > on.
> > My question was: when I need to scale the REST app (because of the huge
> load
> > that the mentioned website will generate) what should I do with the neo4j
> > embedded in it?
> >
> > Thanks for your attention again.
> >
> > On Mon, Oct 4, 2010 at 10:17 AM, Peter Neubauer <
> > peter.neuba...@neotechnology.com> wrote:
> >
> >> Victor,
> >> sorry, I am not entirely understanding your domain so I can't say
> >> anything for sure. Do you have some architectural diagram and/or some
> >> example flow in order to better understand?
> >>
> >> Sorry for the inconvenience
> >>
> >> Cheers,
> >>
> >> /peter neubauer
> >>
> >> VP Product Development, Neo Technology
> >>
> >> GTalk:      neubauer.peter
> >> Skype       peter.neubauer
> >> Phone       +46 704 106975
> >> LinkedIn   http://www.linkedin.com/in/neubauer
> >> Twitter      http://twitter.com/peterneubauer
> >>
> >> http://www.neo4j.org               - Your high performance graph
> database.
> >> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
> >>
> >>
> >>
> >> On Tue, Sep 28, 2010 at 4:47 AM, Victor Augusto de Campos
> >> <piv...@gmail.com> wrote:
> >> > Hey folks,
> >> > I'm actually developing an application that requires maintaining
> >> "following"
> >> > relationships between nodes, another application reads out those
> >> > relationships and take the steps to perform notifications about
> actions
> >> to
> >> > some entities.
> >> >
> >> > That said, I got a doubt about the best design to maintain all things
> >> going
> >> > well. As I've benchmarked neo4j alone can easily handle the
> >> reading/writing
> >> > load but as I'm running it as a embedded database into the application
> >> who
> >> > also provides a RESTful API to let other applications notify about
> >> actions
> >> > I'm afraid that when I need to scale out this application I'll have
> >> troubles
> >> > scaling neo4j embedded in it.
> >> >
> >> > So, what would be the best approach? Decouple neo4j from that
> application
> >> > and let it run as a separate app (or use neo4j-rest, although I
> haven't
> >> > looked into its API and don't know if it provides a official client,
> but
> >> > well) or if it would be simple to scale out neo4j DB with the
> application
> >> > providing that RESTful API.
> >> >
> >> > I don't know if I exposed my question clear, any doubts I'll be glad
> to
> >> > answer ^^
> >> >
> >> > Best regards,
> >> > Victor Augusto de Campos
> >> > _______________________________________________
> >> > Neo4j mailing list
> >> > User@lists.neo4j.org
> >> > https://lists.neo4j.org/mailman/listinfo/user
> >> >
> >> _______________________________________________
> >> Neo4j mailing list
> >> User@lists.neo4j.org
> >> https://lists.neo4j.org/mailman/listinfo/user
> >>
> >
> > _______________________________________________
> > Neo4j mailing list
> > User@lists.neo4j.org
> > https://lists.neo4j.org/mailman/listinfo/user
> >
> >
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to