Neo4j in the Cloud
Every Neo4j instance in itself is a non-distributed database. Clustering, High Availability and Online Backup are add-on components that manage distribution and consistency over several live or offline node spaces.
Contents |
Hosting
Amazon (using EBS volumes)
In order to run Neo4j on an AMI, you should
- install everything you need onto a base AMI, then make your own
- mount a volume on your server onto some mount point, e.g. /mnt/vol1, then
- format it with ext3 (ext4 has been found to have slower Disk IO)
mkfs.ext3 /mnt/vol1 ln -s /mnt/vol1 /home/neo/var
Now, there are two easy scenarios to get a graph onto the Volume:
Run Neo4j on the AMI itself and copy or use Online Backup to backup the running graph onto the external disk.
This might run fastest (should be tested in your setup) but will result in a setup where the graph may be erased upon restarting the server, as there is no guarantee for volatile data on the AMI to be preserved. You will need some means of starting Neo4j with the backed-up graph in that situation.
Run on the external volume by pointing out the mounted and symlinked path in Neo4j
new EmbeddedGraphDatabase("/home/neo/var")
Then, of course, you would need to run backups etc as described above, but your graph will be preserved over different runs and restarts of your server.