Connecting the dots

Neo4j learns to write with version 1.8

Elliot Bentley
neo4j-write

Java-based graph database gets new grammar elements and “zero-downtime” updates in latest release.

Open
source NoSQL graph Neo4j has seen
its latest major GA release, version 1.8,
which includes new ‘write’ grammar elements of the database’s
unique query language Cypher, as well as rolling upgrades across a
cluster.

Neo4j is a specialised graph database designed to model
relationships between nodes, which could be people, places or
objects. The most famous example of a graph database in action is
on Facebook, where an Open Graph is
used to model users’ relationships with brands, songs and other
entities.

Neo Technology’s Java-based graph database is Neo4j, which is now
over two and a half years old and onto version 1.8. In comparison
to the
last major update
, which took just a month to go from its first
milestone to GA, 1.8 has been cooking for a while. Still, it
appears to have been worth the wait.

The biggest change is that Neo4j language Cypher has been given the
power to make changes directly to the database with additional
grammar such as CREATE, SET, DELETE and FOREACH.

CREATE
does what it says on the tin, and can be used to create new nodes,
set properties and even create relationships between these nodes
within a single query. SET and DELETE allow properties to be
modified, while FOREACH
can be used to make batch changes. Another addition is the CREATE
UNIQUE clause
, which acts similarly to the MATCH clause but
with the ability to create needed relationships if no match is
found.

Another feature, and one particularly interesting to ops, is
Neo4j’s new zero-downtime rolling upgrade feature. Key to this is
that it allows compatibility between servers running different
versions – which may have incompatible protocols – throughout the
cluster. In theory, cluster availability should remain undisturbed,
allowing requests to be served from either slaves or masters even
while upgrading – which of course results in better uptime.
Compatibility is available with versions dating as far back as last
year’s 1.5.3.

Other new features are designed to make Neo4j even snappier to use,
such as streamed responses to REST API requests and upgrades to the
traversal framework. There’s also a range of smaller improvements
and bug fixes.

Version 1.8 is available to
download
now, and
full release notes
are available.

Photo by Vick.

Author
Comments
comments powered by Disqus