前書き

OrientDBは、グラフおよびドキュメントデータベースをサポートするマルチモデルのNoSQLデータベースです。 これはJavaアプリケーションであり、任意のオペレーティングシステムで実行できます。また、マルチマスターレプリケーションをサポートする完全なACIDクレームです。

OrientDBデータベースは、バックアップスクリプトを使用してバックアップできます。また、ZIPアルゴリズムを使用したバックアップファイルの圧縮の組み込みサポートにより、コマンドラインインターフェイスを介してバックアップできます。

デフォルトでは、OrientDBデータベースのバックアップはブロック操作です-データベースへの書き込みはバックアップ操作の終了までロックされますが、オペレーティングシステムがLVMパーティションスキームにインストールされている場合、バックアップスクリプトは非ブロックバックアップを実行できます。 LVMはLinuxの論理ボリュームマネージャーです。

この記事では、Ubuntu 14.04サーバーでOrientDBデータベースをバックアップする方法を学びます。

前提条件

手順1-バックアップスクリプトを使用したOrientDBのバックアップ

OrientDBには、インストールディレクトリの `+ bin `フォルダにあるバックアップスクリプトが付属しています。 https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-orientdb-on-ubuntu-14-04[Ubuntu 14.04でOrientDBをインストールおよび設定する方法]を使用してOrientDBをインストールした場合、インストールディレクトリは ` / opt / orientdb `なので、バックアップスクリプト ` backup.sh `は ` / opt / orientdb / bin +`になければなりません。

このチュートリアルでは、バックアップを保持するためにインストールディレクトリの下に「+ backup」フォルダーを作成します。 バックアップをアプリケーションのデータディレクトリである `+ databases `フォルダーに保存することもできます。 このチュートリアルでは、「 backup 」フォルダを使用するため、「 backup +」ディレクトリを作成します。

sudo mkdir -p /opt/orientdb/backup

新しく作成されたフォルダーはルートが所有しているので、所有権を変更して、* orientdb *ユーザーが所有するようにします。 これを行わないと、コマンドラインインターフェースからバックアップするときにエラーが発生します。これは、手順2で行う方法を学習します。

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

邪魔にならないように、 `+ bin +`ディレクトリに移動します:

cd /opt/orientdb/bin

デフォルトでは、 `+ GratefulDeadConcerts `というデータベースが存在します。 ` databases +`ディレクトリの内容のリストには、このデフォルトのデータベースと作成したものが表示されます:

ls -l /opt/orientdb/databases

たとえば、以下は `+ GratefulDeadConcerts `データベースと ` 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

この手順では、バックアップスクリプトを使用して両方のデータベースをバックアップします。 どちらの場合も、パスワードも* admin である admin *ユーザーとして操作を実行します。 デフォルトデータベースのデフォルト(ブロック)バックアップを実行するには、次のように入力します。

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

2番目のデータベースの場合、次を入力します。

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

バックアップが作成されたことを確認します。

ls -lh ../backup

予想される出力は次のとおりです。

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

手順2-コンソールからOrientDBをバックアップする

この手順では、コンソールまたはコマンドラインインターフェースからデータベースの1つをバックアップします。 コマンドラインインターフェイスを入力するには、次のように入力します。

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

出力は次のようになります。

OutputOrientDB console v.2.1.3 (build [email protected]; 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>

次に、データベースに接続します。 ここでは、データベースのデフォルトユーザー* admin とそのパスワード admin *を使用して接続しています。

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

次のような出力が表示されるはずです。

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

次に、ステップ1で作成したのと同じバックアップディレクトリにデータベースのブロッキングバックアップを実行します。

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

次のような出力が表示されるはずです。

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

OrientDBデータベースプロンプトを終了します。

exit

バックアップが配置されていることを確認します。

ls -lh ../backup

出力は次のようになります。

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]]
=== ステップ3-OrientDBの自動バックアップ

OrientDBには自動バックアップ機能がありますが、デフォルトではオフになっています。 このステップでは、データベースが毎日バックアップされるように有効にします。 自動バックアップのパラメーターは、構成ファイルで調整する必要があるため、開きます。

sudo nano /opt/orientdb/config/orientdb-server-config.xml
  • class =“ com.orientechnologies.orient.server.handler.OAutomaticBackup” handler *要素までスクロールします。 有効にすると、他のデフォルト設定では、自動バックアップが4時間間隔で23:00:00 GMTに実行されるように設定されます。 以下に示す設定では、自動バックアップは同時に実行されますが、1日に1回のみ実行されます。

テストのために、* firsttime *パラメーターを好みに合わせて調整できます。

/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>

設定の調整が完了したら、ファイルを保存して閉じます。 変更を適用するには、デーモンを停止します。

sudo service orientdb stop

その後、再起動します。

sudo service orientdb start

設定した時間の後、新しい `+ backup +`ディレクトリを見て、それが機能したことを確認します。

ls -lh /opt/orientdb/bin/backup

出力は次のようになります。

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

デフォルトのデータベース「+ GratefulDeadConcert +」は自動バックアップツールによってバックアップされないため、リストに表示されない場合はそれが機能です。

結論

OrientDBデータベースをバックアップするために利用できるプログラム以外のすべての手順を学習しました。 このトピックの詳細については、http://orientdb.com/docs/last/Backup-and-Restore.html [公式ガイド]をご覧ください。