To upgrade/downgrade an Enterprise database, please contact our support engineers. They will walk you through the process, schedule a suitable time window and perform the upgrade/downgrade of your database.
GrapheneDB supports changing the plan of a Neo4j database as a self-service operation via our Cloning by export feature.
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.
Please take into account that this operation involves downtime. More details below.
After requests to the origin database are stopped, when the clone procedure is initiated, the Neo4j process is stopped, a new database is provisioned and data is copied over.
Database provisioning can take a few seconds for Hobby or Standard databases, and a few minutes for Performance or Enterprise databases. The amount of time it takes to copy over data will mainly depend on your dataset size (a clone operation for a 20GB dataset size will take significantly longer than the same for 500MB of data) . It can also be higher if you are cloning into a different AWS regions since data transfer will be slower.
Neo4j version upgrades will often imply store and/or index migrations. This is most often the case when upgrading through major versions and the amount of time it takes varies depending on the release version and if the are multiple versions ahead of the original one, i.e. upgrading from 2.3 to 3.2 will be generally slower than upgrading from 3.1 to 3.2.
After the clone process and the version upgrade is completed, the database will have different endpoints and a new database user will need to be created in order to connect from your code.
The overall downtime duration will vary depending on the size of your database, the time Neo4j needs to write to disk, any time spent doing the actual Neo4j store and/or index migrations (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.
To perform a database plan upgrade on your own follow these steps :
- 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.
- Click on the Upgrade/Clone button
- Select Clone by exporting and select a higher plan for the new database
- Once completed, verify that the clone process went well and everything looks good.
- Create a new user for the new database
- Update the Neo4j endpoint and credentials in your code to point to the new database/user
- Resume requests to the database, making sure to hit the new database only
If you want to downgrade instead, please make sure the the new plan features enough disk and resources for your dataset and workload.
Please contact our support team if you have any questions or issues.