This chapter covers deploying Neo4j: capacity planning, single-instance and clustered installations, and post-installation tasks.
This section provides an overview of the system requirements for running a Neo4j instance.
Performance is generally memory or I/O bound for large graphs, and compute bound for graphs that fit in memory.
Intel Core i7
More memory allows for larger graphs, but it needs to be configured properly to avoid disruptive garbage collection operations. See Section 7.1, “Memory tuning” for suggestions.
Aside from capacity, the performance characteristics of the disk are the most important when selecting storage. Neo4j workloads tend significantly toward random reads. Select media with low average seek time: SSD over spinning disks. Consult Section 7.5, “Disks, RAM and other tips” for more details.
For proper ACID behavior, the filesystem must support flush (fsync, fdatasync). See Section 7.4, “Linux file system tuning” for a discussion on how to configure the filesystem in Linux for optimal performance.
Neo4j requires a Java Virtual Machine, JVM, to operate. Community Edition installers for Windows and Mac include a JVM for convenience. All other distributions, including all distributions of Neo4j Enterprise Edition, require a pre-installed JVM.