At GraphConnect at the end of April the Neo4j team announced the release of Neo4j 3.0. We had the opportunity to celebrate this release at The Honest Company last night with the Graph Database LA Meetup group where I shared many of these highlights from the official Neo4j announcement. The first release in the 3.x series ushers in a new era of scalable yet reliable graph database technology with, this version of Neo4j based on a completely redesigned architecture that offers enhanced developer productivity, and varying deployment options at a massive scale.
- Redesigned internals that eradicates limits on node numbers and restoration of indexed and stored properties and relationships.
- Official support for language drivers via Bolt binary protocol and Java Stored Procedures support, while enabling full-stack developers for powerful application creation.
- Streamlined deployment structure and configuration for deploying Neo4j in the cloud or on premise.
- Unlimited Graph Storage
By far the biggest headline in the release. Graph to size infinite – challenge accepted! Dynamic pointer compressions expands the available address of Neo4j as needed, making it possible to house graphs regardless of size. Such features can be seen in the Neo4j Enterprise Edition, which complements its scale-out clustering features.
- Enhanced Cost-based Optimizer
This is a huge one for us because most of the Cypher we write are complex MERGE operations so we need as much write performance as possible. A cost-based optimizer has been enhanced by adding support for write queries. The new parallel indexes capability within the optimizer also allows for swifter performance population of indexes.
- Language Drivers & Bolt
Bolt is great for Neo4j developers because it means better performance of the applications they build all the way around and enables them to go bigger and do more with Neo4j. Bolt is a connection-driven protocol for graph access. It utilizes a portable binary encoding over web sockets or TCP for lower latency and enhanced throughput. It comes with built-in security that enhances both graph database performance and developer experience.
- Java Stored Procedures
These new and powerful performance facility offers low-level and direct graph access, giving you a way to conduct an imperative code when you want to conduct complex work within the database. Neo4j comes bundled with built-in procedures as part of the APOC project. There are some very useful procedures in the APOC project so you should definitely check it out. One that stood out to me as immediately useful is the last one in the list that makes periodic commit available for use outside of LOAD CSV.
- Neo4j Browser Sync
This is a nice convenience because now you can take your styles and queries with you wherever you go. Browser Sync lets you synchronize graph style sheets and saved scripts to preserve client-side work across connections. With this, you have swift and easy access to your commonly utilized and favorite Cypher queries. Registered users can opt-in to Neo4j Browser Sync while new users can link via present online credentials.
- Cloud Deployable
This restructure was a pretty major change and getting all the updates for GraphGrid to support 2.x-3.x was a bit of an undertaking but we got it all in place and do like the new organization. The new file, config and log structures in Neo4j 3.0 are made for streamlining operations. A notable change is to transfer from multi-config sites to a one namespaced files. A config migration utility is supplied for seamless transition.
The result will let you easily operate Neo4j on premise and on deployment instances at a massive scale while fostering Neo4j deployment in just about anywhere.
Neo4j 3.0 is the next big evolution in the graph database technology. It’s an excellent start to a new Neo4j 3.x series, which has more good things to come. Neo4j continues to define and lead the graph database market and we’re excited to be making massive scale graph solutions possible official Solution Partner.