Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

データデデュープ(データデデゥープ)とは | 意味や読み方など丁寧でわかりやすい用語解説

データデデュープ(データデデゥープ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

データ重複排除 (データジュウフクハイジョ)

英語表記

data deduplication (データデデュプリケーション)

用語解説

データデデュープは、ストレージシステムにおいて重複するデータを排除し、物理的なストレージ容量の消費を削減する技術である。この技術の主な目的は、同じ内容のデータが複数存在する場合に、それを一箇所にのみ保存し、他の重複部分はその一箇所への参照情報(ポインタ)に置き換えることで、ストレージコストを低減し、データ転送にかかる時間やネットワーク帯域も削減することにある。特に、バックアップデータや仮想デスクトップ環境など、多くの重複データが発生しやすい環境でその効果を最大限に発揮する。

この技術の基本的な仕組みは、まず対象となるデータを小さなまとまり(チャンクやブロックと呼ばれる)に分割することから始まる。このチャンクのサイズはシステムによって異なるが、一般的には数KBから数十KB程度が用いられる。次に、分割された各チャンクに対して、一意の識別子となるハッシュ値(フィンガープリントとも呼ばれる)を計算する。ハッシュ値とは、元のデータが少しでも異なれば全く違う値が生成され、同じデータからは常に同じ値が生成される特性を持つ、固定長の短い文字列や数値のことである。このハッシュ値を高速に計算するために、MD5やSHAシリーズといったハッシュアルゴリズムが利用される。

生成されたハッシュ値は、システム内のデータベースに保存されている他のチャンクのハッシュ値と比較される。もし、すでに同じハッシュ値を持つチャンクがストレージ内に存在すれば、その新しいチャンクは重複データであると判断される。この場合、物理的にデータを保存する代わりに、既存のデータブロックへの参照情報、つまり「このデータはすでにここにあるよ」というポインタだけを保存する。一方、ハッシュ値が一致しなければ、それはユニークなデータとみなされ、物理的にストレージに保存されるとともに、そのハッシュ値もデータベースに登録される。この一連のプロセスにより、実際にストレージに保存されるデータの物理的な量は大幅に削減される。

データデデュープにはいくつかの種類がある。一つは「ファイルレベルデデュープ」で、これはファイル全体を比較対象とし、完全に同一のファイルを重複として扱う方法である。しかし、ファイルの一部だけが異なる場合や、ファイル内の特定のブロックだけが重複している場合には対応できないため、あまり効率的ではない。より一般的で効果的なのは「ブロックレベルデデュープ」または「チャンクレベルデデュープ」と呼ばれる方法で、先述のようにデータを小さなチャンクに分割して比較を行う。これにより、ファイル全体が異なっていても、内部の重複するブロックを効率的に排除できる。

また、重複排除処理を実行するタイミングによっても分類される。データがストレージに書き込まれる「前」に重複排除を行う方式を「インラインデデュープ」と呼ぶ。この方式は、最初から重複データを物理ストレージに書き込まないため、ストレージ容量を最も効率的に利用できる。処理はリアルタイムで行われるが、その分、処理能力の高いハードウェアが必要となる場合がある。一方、データが一度ストレージに書き込まれた「後」で、バックグラウンド処理として重複排除を行う方式を「ポストプロセスデデュープ」と呼ぶ。この方式は、データ書き込み時のパフォーマンスに影響を与えにくいが、重複排除が完了するまでの間は重複データがストレージを占有することになる。

データデデュープの大きなメリットは、まずストレージコストの大幅な削減である。同じデータが何百、何千と存在する場合でも、実際に保存するのは一度だけで済むため、物理ストレージの購入費用を抑えられる。次に、バックアップやレプリケーション(データ複製)にかかる時間とネットワーク帯域の削減が挙げられる。転送するデータ量が減ることで、バックアップウィンドウ(バックアップを行う時間枠)を短縮し、ネットワークインフラへの負荷を軽減できる。これにより、遠隔地への災害復旧用データ転送なども効率的に行えるようになる。

しかし、デメリットも存在する。データデデュープ処理にはハッシュ値の計算や比較、メタデータ(ハッシュ値とポインタ情報)の管理が必要となるため、システムにCPUやメモリなどの処理負荷がかかる。特にインラインデデュープでは、この負荷がデータ書き込みのパフォーマンスに直接影響を与える可能性がある。また、重複排除されたデータは、複数のポインタから参照される単一のデータブロックとして保存されるため、もしそのデータブロックが破損した場合、それに依存する全てのデータが影響を受けるリスクがある。そのため、デデュープシステムには堅牢なデータ保護機能が求められる。さらに、既に高度に圧縮されたデータや、暗号化されたデータは、その性質上、データパターンがランダム化され、重複が見つけにくくなるため、デデュープの効果が低くなる傾向がある。

データデデュープが特に有効な適用シーンとしては、まず「バックアップシステム」が挙げられる。日次バックアップや週次バックアップでは、システムファイルやアプリケーションデータなど、多くのファイルが前回のバックアップと重複することが多いため、デデュープによる容量削減効果が非常に大きい。次に「仮想デスクトップインフラ(VDI)」環境も効果的である。多数の仮想マシンが同じOSイメージやアプリケーションを共有している場合、その重複部分をデデュープすることで、ストレージ要件を劇的に削減できる。その他、ファイルサーバーやアーカイブストレージなど、同じファイルが多数保存されがちな環境でも有用な技術である。この技術は、現代のITインフラにおいて、限られたリソースを最大限に活用し、運用コストを削減するための重要な要素となっている。

関連コンテンツ

関連IT用語