通常、データをバックアップする際には元のデータ量よりかなり多くのストレージ容量が必要になる。例えば、フルバックアップを4週間分残すような運用をしている場合、単純に考えて元のデータ量の5倍以上のバックアップストレージ容量が必要になる。加えて、災害対策用に遠隔地にデータを保管する場合には、これがさらに増えることになる。
このように、ただでさえバックアップデータの容量は膨れ上がっているにもかかわらず、企業内には通常、同じようなデータが多数保存されている。例えば、ある商品紹介資料を、顧客名の部分だけを変更して幾つもファイルサーバに保存しているようなケースだ。バックアップ対象にこのようなデータが存在する場合、同じ内容を繰り返しバックアップすることになる。これはよく考えてみれば無駄なことをしているわけで、何とかこの無駄を取り除けないかと考えられたのが、“Data De-duplication”(以下、De-duplication)技術である。
“duplication”とは「重複」を意味する英単語だ。従って、“De-duplication”をそのまま日本語に訳すと「重複の除外」あるいは「重複の排除」とでもなろうか。文字通り、重複するデータを除外することによって、バックアップデータの容量を縮小する技術だ。
この技術はまだ新しいこともあり、業界的に統一した呼称がまだ存在しない。「De-duplication」(ディデュプリケーション)「De-dupe」(ディデュープ)「重複排除」「重複除外」「非重複化」などさまざまな呼び方をされているが、本稿では元の英語表記“De-duplication”をそのまま使うことにする。
同じデータのバックアップを省くことによって無駄を取り除くという方法は、以前から存在していた。De-duplication技術を理解しやすくするために、まずはその変遷を簡単に追ってみよう。
まず、かなり以前から存在しており、現在でも一般的に使われている「データ圧縮」も、考え方によってはDe-duplicationの一種といえる。なじみの深いところでは、テープバックアップの際に使われる圧縮がそれだ。一口に圧縮といっても幾つかの手法があるが、典型的なものでは1つのファイルの中にある「繰り返されているデータパターン」をポインタ(同じデータパターンの位置を指し示す値)に変換することで重複部分を省いている(図1)。
追って登場したのが、「ファイル単位でのDe-duplication」(ファイルレベルDe-duplication)の手法である。これは、アーカイブ用ストレージなどで使われる技術で、「シングルインスタンス機能」と呼ばれることも多い。
まずは、ファイルごとにユニークなアドレス(ファイルの位置を表す値)を割り当てる。そしてファイルを保存する際には、既に同じアドレスがないかを確認し、存在する場合はそのファイルのデータを保存しない(図2)。この方法により、同一ファイルを重複して保存することを避けられるわけだ。
ただし、この方法はファイル単位の処理なので、ファイルの内容がほんの少し異なるだけでも別のアドレスが割り当てられ、保存対象となる。
そして最近のDe-duplication技術としては、サブファイル単位で重複を省くタイプが徐々に市場に出回ってきた。この技術は米国では2003年ごろから登場しているが、日本で浸透し始めたのは2006年ごろからのことである。
これはファイルレベルDe-duplicationの考え方をさらに推し進めた方式で、1つのファイルをさらに細かく分割して、より細分化された単位で同一のデータを省くことができる(図3)。前述の例のような、顧客名の部分だけが異なる大量の商品資料ファイルを作成するようなケースであれば、顧客名以外の共通部分のデータは1つだけ保存されることになるため、大半のデータを削減することが可能だ。
なお、このサブファイル単位でのDe-duplicationは、米Data Domainの製品を代表とする、バックアップ用ディスクストレージにDe-duplication機能を組み込んだタイプのものと、「EMC Avamar」などのようにソフトウェアとして提供されている製品の2種類がある。最近はIBMやヒューレット・パッカード、国内の各ストレージメーカーなどがこぞってDe-duplication機能を備えたディスクストレージ製品を発表しており、市場が急速に活性化してきている。

現在注目を集めているサブファイルレベルDe-duplicationには、さまざまな実現方法がある。これらを「いつ?」「どこで?」「どのように?」という3つの観点から整理してみよう。
まず「いつ?」というのは、どの時点でDe-duplication処理を行うかということである。これには「インライン」と「ポストプロセス」の2つのアプローチがある。
インラインは、データがバックアップストレージに届いた時点で即座にDe-duplication処理を行う方式だ。ディスクにデータを書き込む前にDe-duplication処理を行うため、バックアップに必要なストレージ容量を極力削減することが可能である。ただし、De-duplication処理にはファイルを任意の長さに細分化して、それぞれにアドレスを割り当てるといった複雑な計算処理が伴うため、その分バックアップに要する時間(バックアップウィンドウ)が増えるというデメリットがある。
それに対してポストプロセスは、バックアップ時間に影響が出ないようにデザインされた手法で、いったんバックアップデータをそのままストレージに保存しておき、そこでバックアップ処理を終了したと見なす。その後、システム運用に影響が出ない時間帯を見計らって、あらためてDe-duplication処理を行うという方式である。ただしこの方式の場合、毎回のバックアップですべてのバックアップデータを保存するディスク領域を確保する必要がある点がデメリットとして挙げられる。
「どこで?」というのは、De-duplication処理を「ソース」と「ターゲット」のどちらで行うかということである。この違いによって製品の性格がまったく異なってくるので、きちんと理解しておきたい。
ソースというのは、バックアップの対象サーバ(バックアップクライアント)側のことである。バックアップデータは、バックアップクライアント側でDe-duplication処理が行われ、その後ネットワークに送出される。そのため、WANなどネットワーク帯域が狭い環境でもバックアップが可能となる。また、データ送出に必要な時間が減るため、結果的にバックアップ時間の短縮が期待できる(図4)。
一方のターゲットは、バックアップストレージ側のことを指す。バックアップストレージにいったんすべてのデータを送り、バックアップストレージ上でDe-duplication処理を行うものである。この方式の最大のメリットは、一般的なバックアップソフトウェアに対応しているので、導入が比較的容易な点にある。ネットワーク帯域やバックアップ時間の節約は期待できないが、ストレージ容量の削減率はソース側でDe-duplication処理を行うタイプと同等の効果が期待できる(図5)。
この両方式の特徴は大きく異なるので、自社のシステム環境やDe-duplication導入の目的をきちんと整理してから、どちらの方式を採用するか検討することをお勧めする。
そして「どのように?」であるが、ここではファイルを細分化する方式に着目したい。これは大きく「固定長」と「可変長」の2種類に分けられる(図6)。
固定長はファイルを一定の長さに分割する方式で、処理に掛かるCPU負荷は比較的少なく済む。主にデータベースなどの構造化データの削減に向いている。一方の可変長は分割する大きさをランダムに変更して、固定長の場合よりさらに細かい単位で重複データを見つけることができる。固定長の場合よりCPU負荷は掛かるが、Office文書ファイルのような非構造化データの削減に対して特に効果を発揮する。
固定長/可変長方式と、ファイルレベルDe-duplicationやデータ圧縮とを比較した表を以下に示す。De-duplicationの導入を検討する際の参考にしていただきたい。
| De-duplication技術 | 標準的な削減効果 | 必要なCPU能力 |
|---|---|---|
| ファイルレベル | 10% | 低 |
| サブファイルレベル&固定長 | 20% | 中〜高 |
| サブファイルレベル&可変長 | 28% | 高 |
| 圧縮 | 40〜50% | 中 |
以上、主だったDe-duplication技術について簡単に説明してきたが、実際の製品はこれらさまざまな技術を組み合わせることにより多種多様なアプローチを取っている。そのため、いざ導入を検討しようとしても、どのような製品がどのようなソリューションに適しているのか、分かりにくいところがある。
そこで、筆者なりの解釈で以下の通りタイプ分けしてみた(図7)。
左下に位置しているのが、ソフトウェアとして提供されるDe-duplicationである。いわゆる「ソース側」でDe-duplicationを行うもので、比較的小規模のファイルサーバが多数存在している環境でバックアップシステムを一元化するのに適している。
真ん中に位置しているのがNASタイプで、ターゲット側のディスクストレージでDe-duplication処理を行うものである。比較的コストが安めに設定されているので導入しやすい半面、I/O性能はそれほど高くない。そのため、大容量のバックアップを決められた時間内に行うことが要件となる場合は、右上に位置するI/O性能の高いファイバーチャネル(FC)接続のディスクストレージの検討をお勧めする。NASタイプの製品の中にも、ファイバーチャネル接続がオプションで用意されているものがある。
さらには、上記3つのタイプに当てはまらない製品も存在する。新しい製品やソリューションが次々と登場しており、現時点ではまだその種別を厳密に定義するのは難しい状況だ。
De-duplicationをうまく活用すると、バックアップに要するストレージ容量を20分の1程度まで削減できるといわれている。20分の1のコスト削減効果は、テープバックアップとディスクバックアップのコスト差をカバーして余りある数字だと考えられる。
また、De-duplicationは仮想サーバのバックアップに適しているのも大きな特徴だ。仮想マシンでは環境全体を1つの大きなファイルにカプセル化しているが、その中身はゲストOSやアプリケーションなど、各仮想マシンで重複している部分が大半なのである。
最近では、バックアップ以外の領域にもDe-duplication技術を適用する動きが広がりつつある。一例を挙げると、EMCのストレージ製品「Celerraシリーズ」はプライマリNASであるが、シングルインスタンスのDe-duplicationとデータ圧縮を組み合わせることにより、データ量を30〜50%ほど自動的に削減できるようになっている。
De-duplicationは今後、バックアップ用ストレージに加えてアーカイブやプライマリNAS用のストレージにも「コスト削減」というキーワードの下に適用範囲が広がることが大いに期待される。今後の進化がとても楽しみな技術である。
同社にてバックアップ・リカバリ関連製品のプロダクト・マーケティングを担当。