Как импортировать и экспортировать базу данных OrientDB в Ubuntu 14.04

Вступление

OrientDB - это многомодельная база данных NoSQL с поддержкой баз данных графов и документов. Это приложение Java и может работать в любой операционной системе. Это также полностью ACID-жалоба с поддержкой репликации нескольких мастеров. Он разработан одноименной компанией с выпуском Enterprise и Community Edition.

В этой статье мы будем использовать базу данныхGratefulDeadConcerts, чтобы продемонстрировать, как экспортировать и импортировать базу данных OrientDB. Эта база данных поставляется с каждой установкой OrientDB, поэтому вам не нужно создавать новую.

Предпосылки

Для завершения урока вам понадобится следующее:

Если вы все эти вещи на месте, давайте начнем.

[[step-1 -—- export-an-existing-orientdb-database]] == Шаг 1. Экспорт существующей базы данных OrientDB

Чтобы импортировать базу данных OrientDB, вы должны сначала экспортировать базу данных для импорта. На этом этапе мы экспортируем базу данных, которую нам нужно импортировать.

Если OrientDB не запущен, запустите его:

sudo service orientdb start

Если вы не уверены, запущен он или нет, вы всегда можете проверить его статус:

sudo service orientdb status

Затем подключитесь к серверу с помощью консоли OrientDB:

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

Выход должен быть:

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>

Подключитесь к базе данных, которую вы хотите экспортировать. Здесь мы подключаемся к базе данныхGratefulDeadConcerts, используя пользователя базы данных по умолчаниюadmin и его парольadmin:

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

Вы должны увидеть результат вроде этого:

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

Кроме того, вы также можете подключиться к базе данных, используя удаленный режим, который позволяет нескольким пользователям получать доступ к одной и той же базе данных.

connect remote:127.0.0.1/GratefulDeadConcerts  admin admin

Выходные данные соединения должны быть такими:

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

Теперь экспортируйте базу данных. Командаexport экспортирует текущую базу данных в сжатый gzip-файл JSON. В этом примере мы экспортируем его в каталог базы данных OrientDB/opt/orientdb/databases:

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

Полный вывод команды экспорта для целевой базы данных:

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

Это завершает этап экспорта.

Откройте другой терминал для вашей Droplet и перечислите содержимое каталога базы данных:

ls -lh /opt/orientdb/databases

Вы должны увидеть исходную базу данных плюс сжатый файл для экспорта вашей базы данных:

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

Вернувшись к терминалу с вашей консолью OrientDB, вы можете теперь отключиться от текущей базы данных, набрав:

disconnect

Если успешно отключен, вы должны получить вывод, похожий на:

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

Оставьте соединение с консолью открытым, потому что вы будете использовать его на следующем шаге.

[[step-2 -—- import-database]] == Шаг 2 - Импорт базы данных

На этом шаге мы импортируем базу данных, которую мы экспортировали на шаге 1. По умолчанию импорт базы данных перезаписывает существующие данные в ту, в которую они импортируются. Итак, сначала подключитесь к целевой базе данных. В этом примере мы будем подключаться к базе данных по умолчанию, которую мы использовали в шаге 1.

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

Вы также можете подключиться с помощью:

connect remote:127.0.0.1/GratefulDeadConcerts  admin admin

Любой вывод должен быть похож на это:

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

Установив соединение, давайте импортируем экспортированный файл:

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

В зависимости от количества импортируемых записей это может занять более нескольких минут. Так что откиньтесь на спинку кресла и расслабьтесь или достаньте чашку своей любимой жидкости.

Выходные данные для импорта должны быть (усеченные):

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

Теперь вы можете отключиться от базы данных:

disconnect

Выйдите из консоли OrientDB и вернитесь в обычное приглашение оболочки, введитеexit:

exit

Заключение

Вы только что видели, как экспортировать и импортировать базу данных OrientDB. Обратите внимание, что функция импорта / экспорта не блокирует базу данных в течение всего процесса, поэтому она может получать записи во время процесса. Для получения дополнительной информации по этой теме см.official OrientDB export/import guide.

Related