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
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.
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.
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.
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.