Neo4j recommends using its Enterprise Edition rather than our open-source Community Edition when your applications have large graphs or require high levels of performance, scalability, security, data integrity or availability.
The Enterprise Edition provides developers with the design, development, maintenance and operational power they need for enterprise-class graph applications. It also provides access to Neo4j graph experts, professional support and a fast-growing community of system architects and innovators.
Graph Size and Application Performance
Neo4j delivers real-time results in milliseconds by taking full advantage of the latest in hardware advances, and its Enterprise Edition boosts performance further with the following extensions.
Enterprise Lock Manager allows you to vertically scale applications beyond the four-CPU limit of Community Edition so you can increase concurrent connections and scale to any size graph.
Cypher Compiled Runtime allows common Cypher queries to be compiled as a library at first execution, eliminating the need to interpret subsequent queries.
Online Space Reuse automatically de-fragments your database to re-organize and reclaim unused disk space and keep your database operating efficiently.
Dynamic Pointer Compression eliminates the Community Edition’s limit of 34 billion nodes and 34 billion relationships, allowing you to build graphs of unlimited size.
CAPI Flash Support for IBM POWER8 is an option that enables you to store files in CAPI Flash instead of the file system to speed I/O throughput and scale read-heavy workloads.
A variety of built-in security features answer enterprise security and admin requirements.
User and Role-Based Access Control simplify app design and maintenance by providing reader, publisher, architect and admin security roles that eliminate the need to code security into application logic.
Active Directory and LDAP Integration adds enterprise-class security and controls that allow Neo4j to inherit user and role information from enterprise directories.
User-Defined Procedures for Security let you create additional roles to control subgraph access, query- and security-event logging, and other activities.
Kerberos Encryption is a option that supports Kerberos integration at the client, directory and database levels—a common requirement for financial and healthcare applications.
Enterprise Data Integrity
Neo4j consolidates metadata from a variety of sources to give users a natural way to navigate graphs, trace data lineage, and meet application and regulatory requirements. The Community Edition includes a constraint that requires a property to be unique and the Enterprise Edition supports further integrity constraints.
Property Existence Constraints allow developers to require that specific properties are set for any node or relationship.
Node Key Schema Constraints enable applications to exchange and import data from multiple data sources, and to maintain data quality and data consistency.
Horizontal Scalability via Causal Clustering
Scaling Neo4j horizontally over multiple machines is one of the greatest benefits of using the Enterprise Edition. It enables you to replicate server instances and manage them as a Raft-based causal cluster in a variety of configurations to support different application requirements.
Consensus-Based ACID Transactions are accepted when a majority of master servers acknowledge their completion, and then replicate to remaining servers in the cluster to preserve graph integrity.
Read-Your-Own-Writes uses Raft bookmarks to guarantee that you can write updates to a master server and read them later—so you can see your own changes while the database maintains ACID transactions.
Cache Sharding drives high scalability and performance even for graphs that don’t fit into memory by load-balancing queries across servers caching different parts of the graph.
The Enterprise Edition adds several features that ensure high application and database availability.
Fault Tolerance re-routes activity to other available servers when a clustered server fails.
Multi-Data-Center Support allows masters and read-replicas in a server cluster to reside in different data centers—while maintaining high performance across all data centers.
Hot Backups allow you to make full and incremental backups across data centers while your app is running to maximize uptime and ease administration.
High Availability for Distributed Workloads enables you to separate read requests from other operations by physically and logically locating the graph as close to users and apps as possible.
Built-In Application Design and Development
Neo4j Enterprise Edition adds significant capabilities that raise the productivity and simplify the effort of application architects and developers. Its built-in functionality creates less complex, more maintainable applications.
In-application users, roles and security eliminate the need to implement user- and role-based security in the database.
Transaction management eliminates the need to use Bolt drivers to manage transactions.
Automatic load balancing eliminates the need for external or driver-based load balancing.
Unlimited graph scalability lifts the four-CPU-core and graph-size limits of the Community Edition.
Schema-based data constraints eliminate the need to implement in-application data validation.
At deployment time, developers can configure their apps with cluster and load balancing details to ease on-premise and cloud deployment.
Database Operations and Monitoring
Enterprise Edition includes built-in management and monitoring functions that provide visibility into performance issues prior to deployment.
User management, role assignments and password management for managing your user community.
Active query management lets you monitor the duration and path of queries, eliminating the need to examine and evaluate query logs.
Cypher query tracing lets you review query performance and set acceptable execution time limits.
JMX metric publishing lets you publish to Neo4j Browser and other applications.
Neo4j’s leadership and continuous investment in the advancement of graph database technology and standards make Neo4j the leading technology for graph-based application strategies. Its Enterprise Edition is the right choice for organizations that want to develop graph applications faster, serve wide user audiences, and maximize the value of connections hidden in their enterprise data.