Introduction

Neo4j is the world’s leading graph database. The architecture is designed for optimal management, storage, and traversal of nodes and relationships. The graph database takes a property graph approach, which is beneficial for both traversal performance and operations runtime. Neo4j offers dedicated memory management and memory-efficient operations.

Neo4j is scalable and can be deployed as a standalone server or across multiple machines in a fault-tolerant cluster for production environments. Other features for production applications include hot backups and extensive monitoring.

Neo4j editions

There are two editions of self-managed Neo4j to choose from, the Community Edition (CE) and the Enterprise Edition (EE). The Enterprise Edition includes all that Community Edition offers, plus extra enterprise requirements such as backups, clustering, and failover capabilities.

Community Edition

The Community Edition is a fully functional edition of Neo4j, suitable for single-instance deployments. It fully supports key Neo4j features, such as ACID-compliant transactions, Cypher, and programming APIs. It is ideal for learning Neo4j, do-it-yourself projects, and applications in small workgroups.

Enterprise Edition

The Enterprise Edition extends the functionality of Community Edition to include key features for performance and scalability, such as a clustering architecture and online backup functionality. Additional security features include role-based access control and LDAP support, for example, Active Directory. It is the choice for production systems with requirements for scale and availability, such as commercial and critical internal solutions.

The following table compares the available key features in both editions:

Table 1. Community Edition vs Enterprise Edition key features
Feature Community Edition Enterprise Edition

Native Graph

Property graph model

Native graph processing & storage

Standard and Aligned store format (34 Billion Nodes & Relationships)

Block format (New format)

Change Data Capture (CDC) Introduced in 5.13 Beta

ACID-compliant transactions

Cypher graph query language

Slotted Cypher runtime

Pipelined Cypher runtime (faster)

Listing and terminating running queries

High-performance caching

Cost-based query optimizer

Clients and APIs

Cypher Client

Neo4j Browser with syntax highlighting

Bolt Protocol

Language drivers for C#, Go, Java, JavaScript & Python [1]

High-performance native API

Support for Neo4j Graph Data Science Community Edition [1]

Support for Neo4j Graph Data Science Enterprise Edition [1]

Indexes and constraints

Fast writes via native label indexes

Composite indexes

Full-text node & relationship indexes

Vector indexes Introduced in Neo4j 5.13

Property uniqueness constraints

Property existence constraints

Property type constraints

Node and relationship key constraints

Security

Role-based access control

Sub-graph access control

LDAP and Active Directory integration

Kerberos security option

Data management

Offline import

Offline incremental import

Auto-reuse of space

Store copy

Offline backup (dump)

Scale and availability

Online backup and restore

Multiple databases (beyond the system and default databases)

Autonomous clustering

Composite databases

Monitoring and management

Endpoints and metrics for monitoring via Prometheus

Neo4j Operations Manager

1. Must be downloaded and installed separately.

Versioning

Neo4j uses semantic versioning (Semantic Versioning Specification 2.0.0). Given a version number MAJOR.MINOR.PATCH, the increment is based on:

  • MAJOR version - incompatible API changes towards the previous MAJOR version.

  • MINOR version - functionality in a backward-compatible manner.

  • PATCH release - backwards-compatible bug fixes.

Neo4j’s fully managed cloud service Neo4j Aura uses only MAJOR versioning.