Comment importer et exporter une base 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 également une plainte ACID intégrant la prise en charge de la réplication multi-maîtres. Il est développé par une société du même nom, avec une édition Enterprise et une édition Community.

Dans cet article, nous utiliserons la base de donnéesGratefulDeadConcerts pour montrer comment exporter et importer une base de données OrientDB. Cette base de données est fournie avec chaque installation d’OrientDB, vous n’avez donc pas à en créer une nouvelle.

Conditions préalables

Pour terminer le didacticiel, vous aurez besoin des éléments suivants:

Si toutes ces choses sont en place, commençons.

[[step-1 -—- export-an-existing-orientdb-database]] == Étape 1 - Exporter une base de données OrientDB existante

Pour importer une base de données OrientDB, vous devez d’abord exporter la base de données à importer. Dans cette étape, nous allons exporter la base de données à importer.

Si OrientDB n'est pas en cours d'exécution, démarrez-le:

sudo service orientdb start

Si vous n’êtes pas sûr qu’il fonctionne ou non, vous pouvez toujours vérifier son statut:

sudo service orientdb status

Ensuite, connectez-vous au serveur à l'aide de la console OrientDB:

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>

Connectez-vous à la base de données que vous souhaitez exporter. Nous nous connectons ici à la base de donnéesGratefulDeadConcerts en utilisant l’utilisateur par défaut de la base de donnéesadmin et son mot de passeadmin:

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

Vous devriez voir une sortie comme celle-ci:

OutputConnecting to database [plocal:/opt/orientdb/databases/GratefulDeadConcerts] with user 'admin'...OK
orientdb {db=GratefulDeadConcerts}>

Vous pouvez également vous connecter à la base de données en utilisant le mode distant, ce qui permet à plusieurs utilisateurs d'accéder à la même base de données.

connect remote:127.0.0.1/GratefulDeadConcerts  admin admin

La sortie de connexion devrait être de cette sorte:

OutputDisconnecting from the database [null]...OK
Connecting to database [remote:127.0.0.1/GratefulDeadConcerts] with user 'admin'...OK
orientdb {db=GratefulDeadConcerts}>

Maintenant, exportez la base de données. La commandeexport exporte la base de données actuelle vers un fichier JSON compressé avec gzip. Dans cet exemple, nous l'exportons dans le répertoire de base de données d'OrientDB/opt/orientdb/databases:

export database /opt/orientdb/databases/GratefulDeadConcerts.export

La sortie de la commande d'exportation complète pour la base de données cible est la suivante:

OutputExporting current database to: database /opt/orientdb/databases/GratefulDeadConcerts.export in GZipped JSON format ...

Started export of database 'GratefulDeadConcerts' to /opt/orientdb/databases/GratefulDeadConcerts.export.gz...
Exporting database info...OK
Exporting clusters...OK (15 clusters)
Exporting schema...OK (14 classes)
Exporting records...
- Cluster 'internal' (id=0)...OK (records=3/3)
- Cluster 'index' (id=1)...OK (records=5/5)
- Cluster 'manindex' (id=2)...OK (records=1/1)
- Cluster 'default' (id=3)...OK (records=0/0)
- Cluster 'orole' (id=4)...OK (records=3/3)
- Cluster 'ouser' (id=5)...OK (records=3/3)
- Cluster 'ofunction' (id=6)...OK (records=0/0)
- Cluster 'oschedule' (id=7)...OK (records=0/0)
- Cluster 'orids' (id=8)...OK (records=0/0)
- Cluster 'v' (id=9).............OK (records=809/809)
- Cluster 'e' (id=10)...OK (records=0/0)
- Cluster 'followed_by' (id=11).............OK (records=7047/7047)
- Cluster 'written_by' (id=12).............OK (records=501/501)
- Cluster 'sung_by' (id=13).............OK (records=501/501)
- Cluster '_studio' (id=14)...OK (records=0/0)

Done. Exported 8873 of total 8873 records

Exporting index info...
- Index OUser.name...OK
- Index dictionary...OK
- Index ORole.name...OK
OK (3 indexes)
Exporting manual indexes content...
- Exporting index dictionary ...OK (entries=0)
OK (1 manual indexes)

Database export completed in 60498ms

Cela termine l'étape d'exportation.

Ouvrez un autre terminal dans votre Droplet et répertoriez le contenu du répertoire de la base de données:

ls -lh /opt/orientdb/databases

Vous devriez voir la base de données d'origine plus le fichier compressé pour votre export de base de données:

Outputtotal 164K
drwxr-xr-x 2 orientdb orientdb 4.0K Nov 27 02:36 GratefulDeadConcerts
-rw-r--r-- 1 orientdb orientdb 158K Nov 27 14:19 GratefulDeadConcerts.export.gz

De retour au terminal avec votre console OrientDB, vous pouvez maintenant vous déconnecter de la base de données actuelle en tapant:

disconnect

En cas de déconnexion réussie, vous devriez obtenir une sortie semblable à:

OutputDisconnecting from the database [GratefulDeadConcerts]...OK
orientdb>

Laissez la connexion à la console ouverte, car vous l’utiliserez à l’étape suivante.

[[step-2 -—- import-database]] == Étape 2 - Importer la base de données

Dans cette étape, nous allons importer la base de données que nous avons exportée à l’étape 1. Par défaut, l’importation d’une base de données écrase les données existantes dans celle dans laquelle elle est importée. Alors, connectez-vous d'abord à la base de données cible. Dans cet exemple, nous allons nous connecter à la base de données par défaut que nous avons utilisée à l'étape 1.

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

Vous pouvez également vous connecter en utilisant:

connect remote:127.0.0.1/GratefulDeadConcerts  admin admin

Soit la sortie devrait ressembler à ceci:

OutputConnecting to database [remote:127.0.0.1/GratefulDeadConcerts] with user 'admin'...OK
orientdb {db=GratefulDeadConcerts}>

Une fois la connexion établie, importons le fichier exporté:

import database /opt/orientdb/databases/GratefulDeadConcerts.export.gz

Selon le nombre d'enregistrements à importer, cela peut prendre plus de quelques minutes. Alors asseyez-vous et détendez-vous, ou prenez cette tasse de votre liquide préféré.

La sortie importée doit être (sortie tronquée):

OutputImporting database database /opt/orientdb/databases/GratefulDeadConcerts.export.gz...
Started import of database 'remote:127.0.0.1/GratefulDeadConcerts' from /opt/orientdb/databases/GratefulDeadConcerts.export.gz...
Non merge mode (-merge=false): removing all default non security classes

...

Done. Imported 8,865 records in 915.51 secs


Importing indexes ...
- Index 'OUser.name'...OK
- Index 'dictionary'...OK
- Index 'ORole.name'...OK
Done. Created 3 indexes.
Importing manual index entries...
- Index 'dictionary'...OK (0 entries)
Done. Imported 1 indexes.
Rebuild of stale indexes...
Stale indexes were rebuilt...
Deleting RID Mapping table...OK


Database import completed in 1325943 ms

Vous pouvez maintenant vous déconnecter de la base de données:

disconnect

Pour quitter la console OrientDB et revenir à votre invite de shell habituelle, tapezexit:

exit

Conclusion

Vous venez de voir comment exporter et importer une base de données OrientDB. Notez que la fonction d'importation / exportation ne verrouille pas la base de données pendant tout le processus. Il est donc possible qu'elle reçoive des écritures au cours du processus. Pour plus d'informations sur ce sujet, consultez lesofficial OrientDB export/import guide.