Introducing Neo4j 4.3

The Fastest Path to Graph Productivity

Neo4j continues to be the leading graph database for deployment in any production environment – on premises, hybrid, or in the cloud. Building on the most trusted, scalable, secure database for performance and data integrity, Neo4j 4.3 delivers significant enhancements to:

  • Performance
  • Scalability
  • Security
  • Operability
  • Cloud Scale
  • Developer Experience

The new features in Neo4j 4.3 Graph Database.

High Performance

Neo4j delivers consistent, real-time transaction throughput for multi-hop queries on large, interconnected datasets.

Smart IO Scheduling

Faster Startup Times and Improved TCO

Background processes like checkpointing and page cache warmup are IO limited when the system needs to prioritise transactions. With Smart IO scheduling, Neo4j makes efficient use of available IO resources, and switches priority between background tasks such as checkpointing and page cache warm up, and foreground tasks like processing new transactions to achieve faster start-up times. Businesses can now achieve greater performance with the same resources e.g. CPU/Memory/IO. This improves scalability, predictability, and performance, reducing the Total Cost of Ownership (TCO).

Relationship and Relationship Property Indexes

Fast, Scalable Relationship Query Performance

A highly requested feature over the years by the community that we’re happy to finally introduce: Relationship type lookup indexes and relationship property indexes. These offer up new modeling capabilities, and significantly speed up many kinds of queries, by making it possible to index relationship types and properties.

DDL Syntax:

{CREATE|DROP|SHOW} INDEX

CREATE [BTREE] INDEX [index-name] 
FOR ()-[r:RELATIONSHIP-TYPE]-() ON (r.property-name[,...])

Relationship Index Syntax:

        
MATCH (me)-[knows:KNOWS]->(friend)-[married:MARRIED_TO]->(friendSpouse)
WHERE knows.since IS NOT NULL
WHERE knows.since IN [2010, 2020]   
WHERE married.witnessed_by STARTS WITH “Dr” 
WHERE distance(knows.met_first, point({x: 1, y: 2})) < 2

Graph-Native Scale

Neo4j’s high-performance distributed cluster architecture scales with your data and your business needs in real-world situations, minimizing cost and hardware while maximizing performance across connected datasets.

Now you can achieve robust transactional guarantees, performance across billions of nodes, trillions of relationships with millisecond latency, and unlimited elasticity.

With Neo4j 4.3, we are introducing enhancements that enable reliably fast transactions with ultra-high parallelized throughput.

Relationship Chain Locks

Faster Transaction Throughput

Relationship Chain Locks provide fine-grained locking so that relationships and nodes can be created/updated/deleted concurrently without causing contention – even when nodes have tens or millions of relationships. This means you can now achieve faster transaction throughput, and faster data import.

Data modelling and internal structure of relationships between nodes.

Graph Data Science and Analytic Read Scaling

Scale-Out Capacity for Read-Intensive Analytical Workloads

Graph Data Science users now have the option of adding one or more read replicas for analytic or visualization purposes, or as a warm backup for standby availability. This is particularly helpful in larger, multi-user GDS environments.

This new option uses a new clustering option in Neo4j 4.3, offering up a new “single active and multi passive” topology similar to traditional replicated DBMSs. With this topology, writes are immediately cascaded asynchronously to one or more read replica(s). This capability offers value in certain environments, including analytic-intensive environments and environments with extremely high update and read rates with lower SLAs for fault tolerance.

Example of a replica only cluster applied to rotating updated and analytical workloads.

Operational Flexibility

Businesses today are pushing for transformational outcomes at speed, and the demand for increasingly scalable, capable backup, and recovery solutions has never been greater. With Neo4j 4.3, we've made SLAs and backup and recovery time faster.

Parallelized Backup and Restore

Improved SLAs with Faster Backup and Recovery Times

Now you can initiate backups at any point in time, any time of the day, without worrying about the transaction load impacting the completion of the backup job. With Neo4j 4.3, store copies and recoveries have been parallelized for ultra-fast backup and recovery – improving SLAs further.

Cloud Scalability

Neo4j offers flexible solutions and deployment models to support your cloud journey. Run Neo4j anywhere, supporting your hybrid, private cloud, lift and shift, or cloud-native environment needs.

With Neo4j 4.3, we are making application development, deployment, and DevOps even more simple.

DevOps in the Cloud with Kubernetes Integration and Helm Charts

Build, Deploy, and Observe

Deploying and running on Kubernetes is becoming easier with supported Helm Charts (coming soon). Today, without the helm charts you need to create your own operator to orchestrate the deployment of Neo4j - which may take a considerable amount of time to create and setup. Helm Charts for single server deployments will be available shortly after GA, with Helm Charts for clusters available later this year. Also, observability of Neo4j through Prometheus has been enhanced with additional metrics.

Server-Side Routing

Additional Networking Strategies for Cloud-based Applications

Server-side routing, user home databases and graphs, makes it easier to get users and client applications to their graph databases in private and public networks – whether using load balancers, orchestration platforms like Kubernetes, application stacks like GRANDstack, or client tools like Bloom and Browser, and data scientists connecting with Jupyter Notebooks. Server-side routing can be used with or without the existing client-side routing to cater for all client connection requirements.

Server-side routing scenarios.

Security Improvements

Built for the graph, Neo4j includes enterprise-grade database security that guarantees transactions with zero data loss. Neo4j has the security features enterprises demand: LDAP/Directory services integration, security logging, and encryption. With 4.3 we are introducing three new enhanced security features:

  • Extended role-based access controls (RBACs)
  • Security logs now capture user and application login attempts
  • Sensitive data obfuscation included in all logs

Developer Experience

Neo4j empowers developers by providing them with full control over how their applications interact with the database, including robust data pipelines, streaming data, machine learning, and more.

Neo4j’s responsive, resilient, elastic, and message-driven reactive architecture delivers maximum scalability and performance.

Planner Optimizations for Order By and Limit

Reduced Query Time for Complex, Long-Running Queries

Planner improvements in Neo4j 4.3 for Order By and Limit significantly reduces query time execution.

Scalar Conversion Functions in Cypher

Enrich Cypher with APOC's Capabilities

Inspired by the APOC conversion functions, Neo4j 4.3 incorporates new functions to convert numbers, strings, and booleans. Expect more to follow in the future.

Ready to learn more about
the Neo4j 4.3 updates?

Neo4j 4.3 Getting Started