Comment sauvegarder vos bases de données OrientDB sur Ubuntu 14.04

introduction

OrientDB est une base de données NoSQL multimodèle prenant en charge les bases de données graphiques et documentaires. C’est une application Java et peut être exécuté sur n’importe quel système d’exploitation. c’est aussi une plainte ACID intégrant la prise en charge de la réplication multi-maîtres.

Une base de données OrientDB peut être sauvegardée à l’aide d’un script de sauvegarde et également via l’interface de ligne de commande, avec prise en charge intégrée de la compression des fichiers de sauvegarde à l’aide de l’algorithme ZIP.

Par défaut, la sauvegarde d’une base de données OrientDB est une opération bloquante. Les écritures comme base de données sont verrouillées jusqu’à la fin de l’opération de sauvegarde. Toutefois, si le système d’exploitation était installé sur un schéma de partitionnement LVM, le script de sauvegarde peut effectuer une sauvegarde non bloquante. . LVM est le gestionnaire de volumes logiques Linux.

Dans cet article, vous apprendrez à sauvegarder votre base de données OrientDB sur un serveur Ubuntu 14.04.

Conditions préalables

Étape 1 - Sauvegarde de OrientDB à l’aide du script de sauvegarde

OrientDB est livré avec un script de sauvegarde situé dans le dossier + bin + du répertoire d’installation. Si vous avez installé OrientDB en utilisant Comment installer et configurer OrientDB sur Ubuntu 14.04, alors le répertoire d’installation est + / opt / orientdb +, le script de sauvegarde + backup.sh + devrait donc se trouver dans le répertoire + / opt / orientdb / bin +.

Pour ce tutoriel, créez un dossier + backup sous le répertoire d’installation pour stocker les sauvegardes. Vous pouvez également choisir d’enregistrer les sauvegardes dans le dossier + database +, qui est le répertoire de données de l’application. Pour ce tutoriel, nous allons utiliser le dossier + backup +, donc créez le répertoire + backup +:

sudo mkdir -p /opt/orientdb/backup

Le dossier nouvellement créé appartient à root. Modifions-le pour qu’il appartienne à l’utilisateur * orientdb *. Si vous ne le faites pas, cela entraînera une erreur lors de la sauvegarde à partir de l’interface de ligne de commande, ce que vous apprendrez à accomplir à l’étape 2:

sudo chown -R orientdb:orientdb /opt/orientdb/backup

Cela fait, naviguez dans le répertoire + bin +:

cd /opt/orientdb/bin

Par défaut, une base de données appelée + GratefulDeadConcerts + existe. La liste du contenu du répertoire + databases + affichera cette base de données par défaut et toutes celles que vous avez créées:

ls -l /opt/orientdb/databases

Par exemple, ce qui suit montre la base de données + GratefulDeadConcerts + et une autre appelée + eck +:

Outputtotal 8
drwxr-xr-x 2 orientdb orientdb 4096 Oct 12 18:36 eck
drwxr-xr-x 2 orientdb orientdb 4096 Oct  4 06:30 GratefulDeadConcerts

Dans cette étape, nous allons sauvegarder les deux bases de données à l’aide du script de sauvegarde. Et dans les deux cas, nous allons effectuer l’opération en tant qu’utilisateur * admin *, dont le mot de passe est également * admin *. Pour effectuer une sauvegarde (bloquante) par défaut de la base de données par défaut, tapez:

sudo ./backup.sh plocal:../databases/GratefulDeadConcerts admin admin ../backup/gfdc.zip

Pour la deuxième base de données, tapez:

sudo ./backup.sh plocal:../databases/eck admin admin ../backup/eck.zip

Vérifiez que les sauvegardes ont été créées:

ls -lh ../backup

Le résultat attendu est:

Outputtotal 236K
-rw-r--r-- 1 root root  17K Oct 13 08:48 eck.zip
-rw-r--r-- 1 root root 213K Oct 13 08:47 gfdc.zip

Étape 2 - Sauvegarde de OrientDB à partir de la console

Dans cette étape, nous allons sauvegarder l’une des bases de données à partir de la console ou de l’interface de ligne de commande. Pour entrer dans l’interface de ligne de commande, tapez:

sudo -u orientdb /opt/orientdb/bin/console.sh

Le résultat devrait être:

OutputOrientDB console v.2.1.3 (build UNKNOWN@r; 2015-10-04 10:56:30+0000) www.orientdb.com
Type 'help' to display all the supported commands.
Installing extensions for GREMLIN language v.2.6.0

orientdb>

Ensuite, connectez-vous à la base de données. Nous nous connectons ici avec l’utilisateur par défaut * admin * de la base de données et son mot de passe * admin *.

connect plocal:/opt/orientdb/databases/eck  admin admin

Vous devriez voir une sortie comme celle-ci:

OutputDisconnecting from the database [null]...OK
Connecting to database [plocal:/opt/orientdb/databases/eck] with user 'admin'...OK
orientdb {db=eck}>

Maintenant, effectuez une sauvegarde bloquante de la base de données dans le même répertoire de sauvegarde que celui créé à l’étape 1:

backup database /opt/orientdb/backup/eckconsole.zip

Vous devriez voir une sortie comme celle-ci:

OutputBackuping current database to: database /opt/orientdb/backup/eckconsole.zip...

- Compressing file name_id_map.cm...ok size=912b compressedSize=250 ratio=73% elapsed=1ms
- Compressing file e.pcl...ok size=65.00KB compressedSize=121 ratio=100% elapsed=13ms

...


- Compressing file orids.cpm...ok size=1024b compressedSize=15 ratio=99% elapsed=1ms
- Compressing file internal.pcl...ok size=129.00KB compressedSize=9115 ratio=94% elapsed=9ms
Backup executed in 0.33 seconds

Quittez l’invite de base de données OrientDB:

exit

Confirmez que la sauvegarde est en place:

ls -lh ../backup

La sortie devrait être semblable à ceci:

Outputtotal 256K
-rw-r--r-- 1 orientdb orientdb  17K Oct 13 10:39 eckconsole.zip
-rw-r--r-- 1 orientdb orientdb  17K Oct 13 08:48 eck.zip
-rw-r--r-- 1 orientdb orientdb 213K Oct 13 08:47 gfdc.zip

[[step-3-- backing-up-orientdb-automatically]] === Étape 3 - Sauvegarde automatique de OrientDB

OrientDB a une capacité de sauvegarde automatique, mais elle est désactivée par défaut. Dans cette étape, nous allons l’activer pour que les bases de données soient sauvegardées quotidiennement. Les paramètres de la sauvegarde automatique doivent être modifiés dans le fichier de configuration, ouvrez-le donc:

sudo nano /opt/orientdb/config/orientdb-server-config.xml

Faites défiler jusqu’à l’élément * handler * avec * class = “com.orientechnologies.orient.server.handler.OAutomaticBackup” *. Lorsque cette option est activée, les autres paramètres par défaut définissent la sauvegarde automatique à 23h00:00 GMT, toutes les 4 heures. Avec les paramètres indiqués ci-dessous, la sauvegarde automatique aura lieu au même moment, mais une fois par jour.

À des fins de test, vous pouvez ajuster le paramètre * firsttime * à votre guise:

/opt/orientdb/config/orientdb-server-config.xml
<handler class="com.orientechnologies.orient.server.handler.OAutomaticBackup">
<parameters>
<parameter value="" name="enabled"/>
<parameter value="" name="delay"/>
<parameter value="23:00:00" name="firstTime"/>
<parameter value="backup" name="target.directory"/>
<parameter value="${DBNAME}-${DATE:yyyyMMddHHmmss}.zip" name="target.fileName"/>
<parameter value="9" name="compressionLevel"/>
<parameter value="1048576" name="bufferSize"/>
<parameter value="" name="db.include"/>
<parameter value="" name="db.exclude"/>
</parameters>
</handler>

Lorsque vous avez fini de peaufiner les paramètres, enregistrez et fermez le fichier. Pour appliquer les modifications, arrêtez le démon:

sudo service orientdb stop

Puis redémarrez le:

sudo service orientdb start

Après l’heure définie, vérifiez que cela a fonctionné en consultant le nouveau répertoire + backup +:

ls -lh /opt/orientdb/bin/backup

Le résultat devrait ressembler à ceci:

Outputtotal 236K
-rw-r--r-- 1 orientdb orientdb  17K Oct 13 16:00 eck-20151013160001.zip
-rw-r--r-- 1 orientdb orientdb 213K Oct 13 16:00 gratefulnotdead-20151013160002.zip

Par défaut, la base de données par défaut + GratefulDeadConcert + n’est pas sauvegardée par l’outil de sauvegarde automatique. Par conséquent, si vous ne la voyez pas dans la liste, il s’agit d’une fonctionnalité.

Conclusion

Vous venez d’apprendre toutes les étapes non programmables disponibles pour la sauvegarde d’une base de données OrientDB. Pour plus d’informations sur ce sujet, visitez le ficiel officiel.