microworks - Fotolia
The widely used Neo4j graph database got a major update Tuesday with the general availability release of Neo4j 4.0.
Graph databases enable users to connect data in a contextual way that is different than a traditional relational database. It's an approach that has been gaining traction across enterprises in recent years as organizations seek to gain more insights from interrelated data. Neo4j was one of the early pioneers in the graph database market with its 1.0 release in 2010 and continuing with a regular stream of updates over the past decade.
The Neo4j 4.0 update has been in development for more than a year and adds a host of new capabilities to the open source graph database platform. Among the new features in the Neo4j 4.0 update are improved database scalability capabilities as well as security enhancements.
"For those running large workloads, it will remove a barrier to adoption, and even those running comparatively smaller instances still want that capability to exist, even if they don't need it immediately," O'Grady said.
Neo4j improves graph database security
Neo4j has been working to enhance security for the database over the last several releases, said Jim Webber, chief scientist for the San Mateo, Calif.-based vendor. He noted that Neo4j 3.1, released in 2016, introduced role-based access control (RBAC), which defines policies for users and roles within the database.
Stephen O'GradyPrincipal analyst, RedMonk
"RBAC will enable you to see or not see data from the graph and it means that if I'm not privileged to see data, I won't get to see it," Webber said.
Neo4j 4.0 provides a deeper level of security control within the database itself to help protect against data leakage and unauthorized access, according to the company.
With a graph database users don't simply read and write data; they employ the concept of data traversal, the ability to cross across different relationships across database nodes.
While RBAC doesn't protect against potential data traversal risks, Webber said that in Neo4j 4.0, the enhanced security model defines permissions to read, write and traverse.
Multi-database scalability is a big part of Neo4j 4.0
Before the 4.0 update if a user wanted two Neo4j graph databases they would have to launch two separate database instances, Webber explained. That has now changed in the new update.
"Neo4j 4.0 provides multi-tenant, multi-database abstraction and it provides physical isolation between those databases," Webber said.
Multiple users can read and write to separate databases within a Neo4j deployment without affecting each other, he added. The work to enable multi-database capability took up much of 2019, according to Webber.
Distributed runtime improves graph database operations
While being a single image database is usually sufficient, enterprises don't want to have scalability limits, Webber said. The new distributed runtime in Neo4j 4.0 uses the underlying multi-database architecture to improve scalability.
The fabric server in Neo4j enables a distributed query across multiple databases -- a departure from what Neo4j previously enabled.
"We have had parallel query capabilities that are local to a server, but we never broke the server boundary before," Webber said. "With 4.0, it's the first time we're saying to users, take Neo4j, write your query and you can now run it across any number of databases that you have in your multi-database server."
Looking forward to the next set of Neo4j update in the 4.x series, Webber said Neo4j will continue to work on improving and extending distributed query runtime.