Release Date: 17 May 2018

We are proud to announce our latest Neo4j Database release – Neo4j 3.4. We encourage everyone to try out all the new features. Neo4j 3.4 will be available within Neo4j Desktop automatically for new databases and upgrades.

Neo4j 3.4 is the core technology of the Neo4j Graph Platform.

Multi-Clustering

Multi-Clustering is the flagship feature of Neo4j Database 3.4, advancing the Graph Platform in scale, expanded uses and performance.

With Multi-Clustering, you can create and manage multiple named database clusters, effectively partitioning the graph into independent parts.

Multi-Clustering can be used to logically partition graphs; create highly-available, large-scale multi-tenant SaaS systems; meet geo partitioning requirements; or oversee multiple graph implementations across the enterprise. For example, Multi-Clustering is perfect for building GDPR-compliant or otherwise regulated systems by country, or segmenting a graph database according to product line or division.

Multi-Clustering also comes with a new directory service that manages a routing table of locations for each named database cluster. The directory service lives within lower levels of Bolt drivers at the same level as cluster load balancing and routing logic. When using a driver at the application level this multi-cluster resolution happens transparently in the background.

New Data Types for Space and Time

Neo4j Database introduces two brand-new data types: a family of date and time data and three-dimensional geospatial data. These new data types enable optimized Cypher queries for searches across time and/or space.

The new date/time data types include a variety of formats and conform to a familiar SQL-like model, including local dates and times with and without time zones.

In addition to traditional latitude and longitude, the new geospatial data types in Neo4j also include Cartesian coordinates (x, y, z), radial distances, altitude, depth and slope.

Both date/time and geospatial coordinates are fully understood and optimized by Cypher and official Neo4j language drivers. They can also be indexed, in which case they will automatically use Neo4j’s new native index, which is as fast for reads and ~5x faster for writes than Lucene-backed indexes in Neo4j.

Performance Improvements

Neo4j 3.4 is faster in terms of both reads and writes, and these overall performance improvements are proportionally reflected in both editions.

Performance improvements summarized:

  • Writes are now up to 5x faster for nodes with indexed string properties, thanks to native indexes, which are now able to handle strings, date/time, and spatial; and since Neo4j 3.3, numerics.
  • Cypher is faster across the board. Internal testing shows that the Neo4j 3.4 Cypher runtime is 20% faster than Neo4j 3.3 Community Edition and Neo4j 3.4 Enterprise Cypher runtime is 50-70% faster than Neo4j 3.4 Community Edition.
  • Transaction state consumes less memory thanks to various efficiency improvements (including native indexing) working together.
  • Bulk imports via neo4j-admin import are significantly more memory efficient. The loader can handle over a 100 billion nodes and relationships and scales linearly to 1M+ record inserts per second.
  • Improvements in Raft consensus significantly improve write performance across the cluster for large transactions.

Administration & Security Features

Key highlights for database administrators include:

  • Rolling upgrades allow for upgrading a cluster to a newer version of Neo4j while it is running, one instance at a time and without requiring a restart of the cluster.
  • All new patch and minor versions will support rolling upgrades starting from Neo4j 3.4.
  • Note: store upgrades require planned downtime. However store upgrades can be decoupled from version upgrades. This means that you can upgrade the database and benefit from all other features; and plan a store upgrade at your convenience when you need any new features that require an update to the store format (for example: a new data type) .
  • After restart or restore, auto cache warming now automatically warms the page cache to its previous operational state. Likewise new cluster members will automatically warm up to mirror the page cache state of its source cluster member.
  • Hot backups are now twice as fast as in previous releases.
  • A new diagnostic utility (dump tool) improves the speed and accuracy of collaboration on support cases between customers and Neo4j Support.
  • Administrators can now implement property security by name, blacklisting properties for users, without impacting performance. This feature is similar to SQL-centric column level security.
  • Source for Neo4j Enterprise Edition includes additions to the license to clarify its intent.

    Detailed Changes and Docs

    For the complete list of all changes, please see the changelog. Look for the 3.4 Developer manual here, and the 3.4 Operations manual here.

    Upgrading to Neo4j 3.4

    Neo4j Operations Manual: Upgrade 3.4 Upgrade FAQ.

    When upgrading to Neo4j 3.4 for the first time, be sure to read the current upgrade instructions in the Neo4j Operations Manual, as there are additional steps and considerations.

    Neo4j 3.4 supports direct upgrades from all 2.3 releases (recommended to be on latest patch). Pre-2.3 users need to upgrade to 2.3 before upgrading to 3.4.