This chapter covers performing and restoring backups of a Neo4j database deployed as a Causal Cluster, Highly Available cluster or single instance.
The backup features are available in Neo4j Enterprise Edition.
Backing up your Neo4j database to remote or offline storage is a fundamental part of operational hygiene. Neo4j supports both full and incremental backups. The backup procedure is the same for a stand-alone database, for Highly Available cluster, and for a Causal Cluster.
For a Causal Cluster, however, we should pay some attention to the Core and Read replica roles and which of them is best suited to act as a backup server. See Section 6.4, “Backup a Causal Cluster” for details.
Additionally, restoring a Neo4j Causal Cluster is a little different. See Section 4.1.4, “Seed a Causal Cluster” for details.
Backups are performed over the network, from a running Neo4j server and into a local copy of the database store.
The backup is run using the
Two parameters must be configured in order to perform backups.
dbms.backup.enabled=truewill enable backups; this is the default value.
dbms.backup.address=<hostname or IP address>:6362configures the interface and port that the backup service listens on. The value of the parameter defaults to the loopback interface and port 6362. It can also be configured to listen on all interfaces by setting
For any backup it is important that the data is stored separately from the production system where there are no common dependencies. It is advisable to keep the backup on stable storage outside of the cluster servers, on different (network attached) storage, and preferably off site (for example to the cloud, a different availability zone within the same cloud, or a separate cloud). Since backups are kept for a long time, the longevity of archival storage should be considered as part of backup planning.
See Section A.1, “Configuration settings” for detailed documentation on available configuration options.