<p>I have a Neo4j database running on Kubernetes. I want to make scheduled backups for the database. I know that Neo4j provides <a href="https://neo4j.com/docs/operations-manual/current/backup-restore/" rel="nofollow noreferrer">a set of tools for backup and restore</a>. However, Kubernetes <a href="https://kubernetes.io/docs/concepts/storage/volume-snapshots/" rel="nofollow noreferrer"><code>VolumeSnapshot</code></a> also looks viable for backup and restore.</p>
<p>I wonder if it's a good idea to use Kubernetes <code>VolumeSnapshot</code> to backup/restore Neo4j databases? Will it cause errors like inconsistency database status or faulty disk problem? Thanks.</p>

<p>Generally, if it is not supported by the database, then it is a bad idea.</p>
<p>Think of your database as being stored across:</p>
<ol>
<li>Database files on disk</li>
<li>Page cache (in volatile memory)</li>
<li>Write ahead transaction logs on disk</li>
</ol>
<p>A volume snapshot would not save enough information to get a consistent state of your database (unless the database is gracefully shut down).</p>
<p>Use the set of tools provided for backup/restore</p>
