Thursday, December 2, 2010

Neo4j 1.2 Milestone 5 - Reference Manual and HA!


Peter Neubauer

Hi there,
in this release, the community and the Neo4j team have been working hard to bring you some really long-term value in the Neo4j project, mainly Documentation and the first glimpse of the High Availability component.

Thanks to all individuals reporting bugs, feedback and patches, a couple of them got into this release, like for instance:
  • Minor Neo4j server script enhancements from Mao Pu
  • REST API feedback form Rick Bullotta, Max De Marci and many others
  • Much feedback on visualization options for graphs from the community

Documentation

Neo4j now has the beginnings of a one-stop reference manual as both online HTML and PDF, giving you reference documentation on using Neo4j and the related components. We hope this will make it much easier to find relevant information, getting started and look up things that previously have been spread over the wiki, blog posts and other different online sources. This documentation is available online at http://docs.neo4j.org/ .
This is work in progress, but please get back to us with feedback on what you want to see more of, things that might be missing and other comments!

Also, this documentation will be versioned, so that for each Neo4j release there will be a corresponding version of the Neo4j Reference Manual. Eventually, we hope to evolve this into a book on Neo4j. If you want to contribute to the effort, let us know!

High Availability

With this milestone, we are proud to for the first time release a version of the Highly Available Neo4j cluster to the community. This component turns Neo4j into a system with a Write-Master and a number of Read-Slaves. Upon mutating operations, at least the master and one slave are committing the transaction before propagating out the changes to the other slaves. In case of the write-master failing, the remaining slaves will automatically elect a new master. Also, the whole cluster infrastructure is transparent to the code that uses the Neo4j API, so that all slaves and masters can be written to and read from transparently. Your code does not need to be aware of the type of HA setup it is running on. Simply do

GraphDatabaseService db = new HighlyAvailableGraphDatabase( path, config );
and off you go as usual!
More on that to come as part of the documentation, but feel free to get it going and give it a spin.

As always, to get the release, download it from http://neo4j.org/ or update your pom.xml to


<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>1.2.M05</version>
</dependency>


May the source be with you!

/peter

No comments: