BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
The Neo4j graph database provides a scalable, open source database management system that supports ACID (atomicity, consistency, isolation and durability) and provides high-availability clustering for enterprise deployments. It comes with a Web-based administration tool that includes full transaction support and a visual node-link graph explorer.
Neo4j graph DBMS features
Neo4j is a native graph database system that provides valuable insight from data relationships built into the fabric of the product, including the data model, query language and storage engine. Highlights include:
- Data and its connections are physically stored as relationships, which results in constant-time queries as the amount of data and connections in the database grows.
- The database engine relates data by following pointers from data point to related data point, providing faster processing than relational joins or writing your own joins in another NoSQL database.
- Data relationships are stored and processed as they occur, providing quick responsiveness and flexibility when making database changes and creating agile development.
- Integration support, which includes driver and API support for popular languages and frameworks.
Neo4j graph DBMS offerings
There are two editions of Neo4j available:
- A Community Edition, which is ideal for learning and do-it-yourself projects deployed on a single instance without professional services and support. It offers a free license under the GPLv3 (same license as MySQL).
- An Enterprise Edition, which is optimal for high availability, management, scalability and production support. This edition is available as a commercial license on a subscription basis that includes support, or as a free license under the AGPLv3 for open source projects.
Neo4j runs on the property graph model, which was invented by Neo4j's creators.
OSes supported by Neo4j graph DBMS
Neo4j runs on Linux (Ubuntu, Debian), Windows 2012 and HP UX for production; Solaris support is planned for late 2 016. Windows desktop operating systems and Mac OS X are supported for development. Neo4j also supports Java virtual machine embedded use for OEM hardware applications.
The Community Edition of Neo4j is free under the GNU General Public License (GPLv3) license. The Enterprise Edition of Neo4j can be licensed commercially, or under the GPLv3 for open source projects. It features premium (24/7) and standard (business hours) support as part of the annual license subscription.
Neo Technology sells Neo4j directly or through OEMs and value-added partners. Neo4j doesn't publish pricing, but it does offer a program that includes a free (unsupported) tier for small startups, as well as a heavily discounted and supported tier for medium-sized startups.
Neo Technology is a founding member of the Linked Data Benchmark Council and is working with several other industry players to develop a relevant benchmark for graph queries.
About the author
Craig S. Mullins is a data management strategist, researcher, consultant and author with more than 30 years of experience in all facets of database systems development. He is president and principal consultant of Mullins Consulting Inc. and publisher/editor of TheDatabaseSite.com. Email him at firstname.lastname@example.org.
This article was updated in September 2016.
Key criteria for deciding if a relational DBMS meets your needs
Facebook search app boosts graph database architecture to the fore
Neo4j adds Cypher graph language support for the Apache Spark
Neo4j graph database emphasizes easy relationship building