Cloning databases

Using the clone feature to provision a copy from the current state of an existing database or one of its backups.

Enterprise Databases

To clone an Enterprise database, please contact our support engineers. They will be happy to perform the clone operation for you.

Overview

You can clone your database and create a new one by clicking on the Clone database button in the databases Overview page. You can also simply click on the Upgrade / Clone button if you are inside the database area.

GrapheneDB offers two different methods to clone an existing database:

Please keep in mind that the new database will have a different connection endpoint, and the origin database will not be deleted. You will need to update your application’s connection settings to your new cloned database and ensure you have deleted the origin database to avoid being charged for a database you no longer need.

Clone by exporting

If you want an exact copy of your existing dataset to be provisioned into a new database, use clone by exporting.

Clone by exporting is always used for Neo4j version upgrades or plan changes:

Clone operation and the original database

The described procedure works by creating a new database from a copy of the original instance. After the operation is completed, the original database will continue to run. It is up the user to delete it when it is no longer needed. Any modifications to the original database after the clone process is started will not be reflected in the new instance.

Downtime

Please take into account that this operation involves downtime. More details below.

Downtime

After requests to the origin database are stopped, when the clone procedure is initiated, the Neo4j process is stopped, a new database is provisioned, data is copied over until it is available again and finally requests to the new database can be resumed.

Neo4j version upgrades will often imply store or index migrations. This is most often the case when upgrading through major versions.

After the clone process is completed, the database will have a different endpoint and a new user will need to be created in order to connect from your code.

The overall downtime duration can vary depending on the size of your database, the time Neo4j needs to write to disk, any time spent in Neo4j version upgrades if any, and the time it takes to create a new user and update the code to point to the new instance and use the new credentials.

Steps

You can perform this operation on your own by following the steps below:

  1. Stop requests to the database. Any write request that hits the database after the clone process is started, will not be replicated on the destination database, potentially resulting in data loss.
  2. Click on the Upgrade/Clone button
  3. Select Clone by exporting.
  4. Once completed, verify that the clone process went well and everything looks good.
  5. Create a new user for the new database
  6. Update the Neo4j endpoint and credentials in your code to point to the new database/user
  7. Resume requests to the database, making sure to hit the new database only

Clone from backup

Use cloning from backup if you want to provision a new database with one of your latest backups. This feature is available in our production-ready databases, Standard or higher.

To restore a backup into the same database, please read Restore database.

You can trigger the operation if you select the option Clone from backup while cloning your database. Alternatively you can navigate to your Backups area and select Create a new database from backup.

Dataset will not reflect latest state

There is no downtime involved for the origin database, but the dataset in the new database will not reflect the current state of the database.

Cloning databases

Using the clone feature to provision a copy from the current state of an existing database or one of its backups.