前書き
OrientDBは、グラフおよびドキュメントデータベースをサポートするマルチモデルのNoSQLデータベースです。 これはJavaアプリケーションであり、任意のオペレーティングシステムで実行できます。また、マルチマスターレプリケーションをサポートする完全なACIDクレームです。
OrientDBデータベースは、バックアップスクリプトを使用してバックアップできます。また、ZIPアルゴリズムを使用したバックアップファイルの圧縮の組み込みサポートにより、コマンドラインインターフェイスを介してバックアップできます。
デフォルトでは、OrientDBデータベースのバックアップはブロック操作です-データベースへの書き込みはバックアップ操作の終了までロックされますが、オペレーティングシステムがLVMパーティションスキームにインストールされている場合、バックアップスクリプトは非ブロックバックアップを実行できます。 LVMはLinuxの論理ボリュームマネージャーです。
この記事では、Ubuntu 14.04サーバーでOrientDBデータベースをバックアップする方法を学びます。
前提条件
-
Ubuntu 14.04サーバー((https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04[Ubuntu 14.04での初期サーバー設定]を参照)
-
Ubuntu 14.04でOrientDBをインストールおよび構成する方法を使用してインストールおよび構成された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 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
[[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 [公式ガイド]をご覧ください。