Neo4j, one of the leading graph databases on the market, is available in a major new version today. Neo4j 4.0 introduces new scalability and security features aimed at enterprise deployments.
Graph databases are optimized to deal with relationships between elements, rather than lists of them in tables. Relationships can be expressed in conventional tabular databases, but become unwieldy when dealing with, say, millions of connections.
Neo4j, introduced 12 years ago and reviewed by InfoWorld’s Martin Heller in 2018, was engineered from the ground up as a native graph database, rather than a reworking of an existing tabular database to support graph storage and processing.
[Get a hands-on introduction to Big data analytics with Neo4j and Java. ]
One of biggest changes in Neo4j 4.0, available in both the community and enterprise editions, is the concept of “reactive” sessions, or reactive query processing. Reactive sessions allow data streamed from Neo4j to be managed dynamically by applications that receive it, so that clients aren’t flooded with data they can’t handle in a timely way. Other reactive components, like Reactive Streams, can in turn make use of Neo4j’s reactive behaviors.
Another major change, although limited to the enterprise edition, is a form of horizontal scaling called Neo4j Fabric. Previously, Neo4j supported data replication across a cluster of machines to provide read scaling and high availability. Fabric now allows graph data to be sharded and federated across multiple instances.
Also new in Neo4j 4.0, although limited to enterprise users:
- The ability to deploy multiple, distinct databases in the same Neo4j server cluster.
- Fine-grained security and access controls with roles and user management.
- Memory constraints for transactions to keep queries from overloading nodes.