A Closer Look at Neo4j – the Graph Database
Dataversity takes an hand-on look at Neo4j.
The recent upward tick in the popularity of graph databases within the NoSQL movement reflects the trend of Big Data, partly generated by social data. Enterprises are turning to graph databases to figure out customer purchasing patterns, voting history, as well as that proverbial “needle in the haystack” bit of valuable information. The latter use-case is especially important to those working with law enforcement or homeland security applications.
One of prominent examples of a graph database is Neo4j. Developed by Neo Technology, a company dually located in San Francisco and Sweden, the open source Neo4j is available in a variety of licenses. The free of charge Community version is an easy download and install, making it straightforward for exploring the database and its web-based admin interfaces. Additional modules suitable for more esoteric or production level functionality are part of the Advanced version, with an Enterprise edition also an option for larger corporations.
A Robust Graph Database
At its core, Neo4j features a fast and agile graph database where the data gets stored in nodes, with each containing a number of properties. The relationships between nodes are what matters in a graph database – a model which ties in nicely with the applications found in the world of social networking. Both the nodes and the relationships can be indexed, which enhances the database’s overall performance.
Even considering its overall power, Neo4j remains flexible; the database is suitable in distributed environments, and its smaller footprint means the graph database technology can be embedded inside another application written in a language supporting the JVM, including Scala, Clojure, and of course, Java. The database supports a REST interface for client applications, in addition to providing a Java API for more robust client development. Neo4j itself was primarily developed in Java.
Neo4j is cross-platform, with support for the Windows, Mac OS, and Linux platforms. Typical of open source software, there are usually a variety of current, legacy, and still-in-development versions of Neo4j available fordownload from their website. With an array of older editions of the software, the company provides documentation to assist with the upgrade and migration process.