データの重複排除の仕組みについて

企業が保有するデータベースにおいては、極めてよく似ているレコードが一部分のフィールドだけが異なる値をもっている事実上同じデータを複数回にわたって送信、受信、保存してしまうという無駄が処理が頻繁に発生することがあります。しかし、既に処理をしたデータの記録を有効利用することで異なる一部のデータ部分だけを検出して処理することができれば、転送データの減少や処理速度の向上が期待できることになるのです。これがデータ重複排除を実現する基本的な考え方となっています。

■重複排除はバックアップソフトやバックアップストレージで利用

この重複排除の仕組みをデータ保存の段階で利用することができると、少ないストレージ容量で多くのデータを保存することが可能となるため、最近ではバックアップソフトウエアやバックアップストレージに利用されることに使われるようになっているのです。企業内では、一度作成した文書の一部を変更して別名で保存するケースは極めて頻繁に起こっており、類似データは想像以上に数多く保管されています。また企業内で同じデータを複数の社員が保存しているケースも見られ、社内で従業員にデータが一斉配信されたりしますと内容が全く一致するデータが企業内のそこらじゅうで保存されていることは日常的に発生しています。こうしたファイルの一部もしくは全部が重複している場合にそれを識別し、その部分を同じであると認識し、インデックスを付けて同じデータは1度しか保存しないようにすれば、ストレージを大幅に節約できるようになるのです。したがってバックアップ時にこうしたプロセスを実施することが有効な方法として機能するわけです。

■具体的な重複排除の仕組み

サーバーに格納されているデータをバックアップする場合、既にバックアップされている既存データと比較し、重複しているデータをあらかじめ検出し、そのデータ部分はバックアップしないようにするというのが具体的な重複排除のやり方になります。こうしたバックアップを丹念に実施すれば、実際のデータ容量は10分の1から最高で50分の1程度まで圧縮できるケースが登場しています。

この重複排除は、実際にその検出作業を実行する場所とタイミングで概ね3つの方式が用意されています。

  1. 1つめは、サーバ側で重複を検出、排除後にデータをストレージへ転送するプリ・プロセス方式です。
  2. 2つめは、サーバからストレージにデータを転送する過程で重複を検知し、保存する前に排除するインライン方式です。
  3. そして3つめは、サーバからストレージにすべてのデータを保存した後、ストレージ内で重複排除するポスト・プロセス方式と呼ばれるものです。

まず、サーバー側で重複排除完了後にデータ転送を行うプリ・プロセス方式の場合は、データ転送量を大幅に削減することができ、遠隔地転送では回線費用を削減することも可能となりますが、サーバーに大きな負荷がかかるのがデメリットといえます。また、データ転送中に重複検出をするインライン方式の場合にはサーバーへの負荷が発生しないメリットがありますが、逆に転送中に重複検出を排除することになるためデータ転送性能は明らかに低下することになり、ストレージ側に負荷が発生することとなります。ストレージに保存完了後に重複を検出し排除するポスト・プロセス方式では、サーバーに負荷がかからず、データ転送性能の劣化も起こりませんが、まず一時的にデータをすべて格納するためのスペースを必要とする点がデメリットになります。
したがって、こうした具体的な方法にはそれぞれ一長一短があり、利用する企業がどのようなデータの重複排除をするかによってもその選択肢が変わってくるものとなっているのです。ただ、その重複排除機能はバックアップやディザスタリカバリー、アーカイブなど徐々にその用途を拡げている状況にあります。どこで機能を適用するのがもっとも適切なのかについては、導入する前に企業ごとにすべての業務プロセスを見渡した上で、その適合性について真剣に検討する必要がありますが、今後は闇雲にストレージを買い足すことなく、効率的にバックアップするコストセーブを実現する技術として、利用企業が確実に増加に転じていることが予想されているのです。