Importieren und Exportieren einer OrientDB-Datenbank unter Ubuntu 14.04

Einführung

OrientDB ist eine NoSQL-Datenbank mit mehreren Modellen und Unterstützung für Grafik- und Dokumentendatenbanken. Es ist eine Java-Anwendung und kann auf jedem Betriebssystem ausgeführt werden. Es ist auch eine vollständige ACID-Beschwerde mit Unterstützung für die Multi-Master-Replikation. Es wird von einem gleichnamigen Unternehmen mit einer Enterprise- und einer Community-Edition entwickelt.

In diesem Artikel verwenden wir die DatenbankGratefulDeadConcerts, um zu demonstrieren, wie eine OrientDB-Datenbank exportiert und importiert wird. Diese Datenbank wird mit jeder Installation von OrientDB geliefert, sodass Sie keine neue erstellen müssen.

Voraussetzungen

Um das Tutorial abzuschließen, benötigen Sie Folgendes:

Wenn Sie all diese Dinge erledigt haben, fangen wir an.

[[Schritt 1 - Exportieren einer vorhandenen OrientDB-Datenbank]] == Schritt 1 - Exportieren einer vorhandenen OrientDB-Datenbank

Um eine OrientDB-Datenbank zu importieren, müssen Sie zuerst die zu importierende Datenbank exportieren. In diesem Schritt exportieren wir die zu importierende Datenbank.

Wenn OrientDB nicht läuft, starten Sie es:

sudo service orientdb start

Wenn Sie nicht sicher sind, ob es ausgeführt wird oder nicht, können Sie den Status jederzeit überprüfen:

sudo service orientdb status

Stellen Sie dann über die OrientDB-Konsole eine Verbindung zum Server her:

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

Die Ausgabe sollte sein:

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>

Stellen Sie eine Verbindung zu der Datenbank her, die Sie exportieren möchten. Hier stellen wir eine Verbindung zurGratefulDeadConcerts-Datenbank her, indem wir den Standardbenutzeradmin und das Kennwortadmin der Datenbank verwenden:

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

Sie sollten eine Ausgabe wie diese sehen:

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

Alternativ können Sie auch im Remotemodus eine Verbindung zur Datenbank herstellen, sodass mehrere Benutzer auf dieselbe Datenbank zugreifen können.

connect remote:127.0.0.1/GratefulDeadConcerts  admin admin

Die Verbindungsausgabe sollte von dieser Art sein:

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

Exportieren Sie nun die Datenbank. Der Befehlexport exportiert die aktuelle Datenbank in eine komprimierte, komprimierte JSON-Datei. In diesem Beispiel exportieren wir es in das Datenbankverzeichnis/opt/orientdb/databasesvon OrientDB:

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

Die vollständige Ausgabe des Exportbefehls für die Zieldatenbank lautet:

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

Damit ist der Exportschritt abgeschlossen.

Öffnen Sie ein anderes Terminal für Ihr Droplet und listen Sie den Inhalt des Datenbankverzeichnisses auf:

ls -lh /opt/orientdb/databases

Sie sollten die ursprüngliche Datenbank und die komprimierte Datei für Ihren Datenbankexport sehen:

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

Zurück am Terminal mit Ihrer OrientDB-Konsole können Sie jetzt die Verbindung zur aktuellen Datenbank trennen, indem Sie Folgendes eingeben:

disconnect

Wenn die Verbindung erfolgreich getrennt wurde, sollten Sie eine Ausgabe ähnlich der folgenden erhalten:

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

Lassen Sie die Verbindung zur Konsole offen, da Sie sie im nächsten Schritt verwenden werden.

[[Schritt-2 -—- Datenbank importieren]] == Schritt 2 - Datenbank importieren

In diesem Schritt importieren wir die Datenbank, die wir in Schritt 1 exportiert haben. Standardmäßig werden beim Importieren einer Datenbank die vorhandenen Daten in der Datenbank überschrieben, in die sie importiert werden. Stellen Sie zunächst eine Verbindung zur Zieldatenbank her. In diesem Beispiel stellen wir eine Verbindung zur Standarddatenbank her, die wir in Schritt 1 verwendet haben.

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

Sie können sich auch verbinden mit:

connect remote:127.0.0.1/GratefulDeadConcerts  admin admin

Beide Ausgaben sollten ungefähr so ​​aussehen:

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

Nachdem die Verbindung hergestellt wurde, importieren wir die exportierte Datei:

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

Abhängig von der Anzahl der zu importierenden Datensätze kann dies einige Minuten dauern. Lehnen Sie sich also zurück und entspannen Sie sich oder greifen Sie nach der Tasse Ihrer Lieblingsflüssigkeit.

Die Importausgabe sollte (Ausgabe abgeschnitten) sein:

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

Sie können jetzt die Verbindung zur Datenbank trennen:

disconnect

Beenden Sie die OrientDB-Konsole und kehren Sie zu Ihrer regulären Shell-Eingabeaufforderung zurück. Geben Sieexit ein:

exit

Fazit

Sie haben gerade gesehen, wie Sie eine OrientDB-Datenbank exportieren und importieren. Beachten Sie, dass die Import- / Exportfunktion die Datenbank nicht während des gesamten Vorgangs sperrt. Daher ist es möglich, dass Schreibvorgänge empfangen werden, während der Vorgang stattfindet. Weitere Informationen zu diesem Thema finden Sie unterofficial OrientDB export/import guide.

Related