10genは、最近 MongoDB バックアップサービスの限定リリースを発表した。これは、増分・バックアップとポイント・イン・タイム復元を提供する。
MongoDBのバックアップと復元に、普通は、mongodump と mongorestore ユーティリティが使われる。オプションで--oplogを使ってポイント・イン・タイムのスナップショットを得ることもできる。しかし、いつも全データベースをバックアップすると、もっと時間とディスク・スペースを消費し始めることになる。ここに10genが導入した新サービスが入り込む余地がある。 このサービスは、継続的な差分バックアップでポイント・イン・タイムな復元ができる。またクラウドベースのバックアップサービスなので、ユーザーは必要な分だけ払えばよく、事前にストレージ容量を計画する必要がない。
主なフィーチャとして、 -
-
データ転送のためのSSL暗号化
-
高可用性
-
ポイント・イン・タイム・リカバリ
-
共有化されたクラスタのサポート
-
低オーバーヘッド
一般利用が可能になるのは、年内になる見込み。
10gen は、技術の観点からいかにこのソリューションが機能するかを説明している。
軽量なエージェントは、バックアップされているすべてのレプリカセットからoplogsを収集し、圧縮し、それらを暗号化し、その後、バックアップサービスが動作するデータセンターへSSLでそれらを送信する。このアプローチには多くの利点がある:ので、1)データが増分でバックアップされるので、移動中のデータが比較的小さい、2 )バックアップサービスのデータは、プライマリ・システムのそれに時間的に非常に近い。3)プライマリシステムへの影響は、レプリカセットに別のレプリカを追加するよりも、大きくない。これは非常に低い。4)oplogは、任意の時点に設定されたレプリカを復元することができる。
復元には2つのオプションがある。スナップショットとカスタムスナップショットである。バックアップサービスは、ポリシーに応じて、バックアップのスナップショットを作成し、維持する。これらのスナップショットのいずれかでも復元に利用可能だ。代わりに、ユーザーは、スナップショットを作成するために使用したい、正確な時点を指定することができる。この場合、その時点に先行する最新のスナップショットが使用され、oplogは、ユーザが指定した時点まで適用される。
MMSと同様に、10genは大企業向けに、オンプレミスでこのサービスを利用可能にするかもしれない。会社は現在、このサービスを提供するソフトウェアをオープンソースにするか決定していない。
レプリカセットからのoplogsを使用して、増分のバックアップを作成するオープンソース製品もある。 – EqualExpertsのTayra である。ドキュメントを見ることができるので、提供されている全フィーチャ がわかる。 – その中には、選択的復元およびポイントインタイム復元がある。しかし共有されたシステムはサポートされていない。