Ubuntu14.04でOrientDBデータベースをバックアップする方法

提供:Dev Guides
移動先:案内検索

序章

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

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

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

この記事では、Ubuntu14.04サーバーにOrientDBデータベースをバックアップする方法を学習します。

前提条件

ステップ1—バックアップスクリプトを使用したOrientDBのバックアップ

OrientDBには、インストールディレクトリのbinフォルダにあるバックアップスクリプトが付属しています。 Ubuntu 14.04 にOrientDBをインストールして構成する方法を使用してOrientDBをインストールした場合、インストールディレクトリは/opt/orientdbであるため、バックアップスクリプトbackup.sh/opt/orientdb/bin

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

sudo mkdir -p /opt/orientdb/backup

新しく作成されたフォルダはrootが所有しているので、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 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>

次に、データベースに接続します。 ここでは、データベースのデフォルトユーザー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

ステップ3—OrientDBを自動的にバックアップする

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

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

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

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

/opt/orientdb/config/orientdb-server-config.xml
<handler class="com.orientechnologies.orient.server.handler.OAutomaticBackup">
<parameters>
<parameter value="true" name="enabled"/>
<parameter value="24h" 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データベースのバックアップに使用できるプログラム以外のすべての手順を学習しました。 このトピックの詳細については、公式ガイドをご覧ください。