Chapter 6. Backup

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.

6.1. Introducing backups

Backing up your Neo4j database to remote or offline storage is a fundamental part of database operations. The backup strategy should be designed while taking your specific requirements into account. These requirements may include demands on performance and tolerance for down-time and data loss in case of network or hardware failure. If running a Neo4j Causal Cluster, the backup strategy needs to take into account the overall cluster design. For an in-depth discussion on this, please refer to Section 4.1.5, “Backup planning for a Causal Cluster”.

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.

6.1.1. Enabling backups

Backups are performed locally on the database server, or over the network, from a running Neo4j server. The resulting files are created locally, or on a network mounted directory, on the server performing the backup. Two parameters must be configured in order to perform backups.

  • dbms.backup.enabled=true will enable backups; this is the default value.
  • dbms.backup.address=<hostname or IP address>:6362 configures 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 dbms.backup.address=0.0.0.0:6362.

6.1.2. Storage considerations

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.