The Latest Developments in Neo4j
Neo4j has announced Neo4j 1.9 GA and Neo4j 2.0 M03. A new project called Neo4j Mobile for Android intends to bring a graph database to smartphones and tablets.
Neo4j has announced the general availability of version 1.9 of their graph database. Among the most important enhancements are:
- Neo4j Enterprise edition now has its own clustering solution based on Paxos protocols, which replaces the previous one based on Zookeeper. This eliminates the need for a separate Zookeeper cluster.
- neo4j-arbiter. A cluster usually has 3 nodes for fault-tolerance purposes. In case the master is down, it may be impossible to elect a new master through an electronic voting process because there is an even number of available instances. This is where the arbiter comes into play. The arbiter behaves like a regular instance for election purposes but it does not have a database engine.
- The Cypher – Neo4j’s query language – has been enhanced with new functions: string handling, REDUCE, and TIMESTAMP.
- New REST endpoint accessed by load balancers to discover which instances are masters and which are slaves, in order to know how to delegate read – go to slaves- and write –go to master- operations.
- Better online backup for the enterprise version which now detects if a full or an incremental backup is necessary.
- Improved memory footprint and performance
Neo4j 1.9 needs Oracle JRE 1.7. While other Java runtimes may be used, the company recommends using 1.7. Also, the users should take note of the deprecated features which are to be completely removed in future version.
Along with 1.9, a number of products in Neo4j’s ecosystem have been updated: Structr CMS and REST-Backend, Neo4j Gremlin Plugin, Neo4j Spatial, Neo4j JDBC Driver, Neo4j Graph Collections, and Neo4j Rest GraphDatabase.
In the meantime, Neo4j 2.0 M3 has been announced, adding:
- Cypher MERGE, a combination of MATCH and CREATE
- 2 new Cypher functions, startNode(rel) and endNode(rel)
- Cypher HTTP endpoint enabling transactions to span multiple HTTP requests
Another notable development is Neo4j Mobile for Android, and attempts to bring a graph database to Google’s mobile operating system. This project is in its early phases and it is based on Neo4j 1.5 M02.
Neo4j runs on Linux, Mac OS X and Windows, in the cloud – Heroku, Amazon AWS, Azure –, and comes in three editions: Community, Advanced and Enterprise. The code is open sourced on GitHub.