Data Domainだけが実現できるインラインでのリアルタイム重複排除
それではいったいEMCの重複排除は、どのようなポイントが評価されているのだろうか。その1つとして挙げられるのは、重複排除ストレージであるEMC Data Domainの重複排除の仕組みがきわめて高い効率性を持っていることだと、EMCジャパン BRS事業本部 システムズ・エンジニアリング部 シニア・システムズ・エンジニアの志間義治氏は言う。
他の重複排除の多くが固定長ブロック単位で重複を排除するのに対し、Data Domainでは可変長ブロックとなっている。たとえばデータベースの処理で、データのインサートやアップデートが行われる際、更新データが元のデータとサイズが異なれば、ブロックのサイズが合わなくなり変更されたデータブロックだけでなくその後に続くデータブロックも辻褄が合うところまで変更されることになる。つまり、変更されるブロックが増えてしまうのだ。
これに対し可変長であれば、仮に更新データのサイズが元とは異なっても変更するのは対象のデータブロックだけで済む。結果的には、変更のない重複ブロック数が多くなり、より効率的に重複排除が行えるのだ。
もう1つの特長が、重複排除をインライン処理できる高い性能が挙げられる。Data Domainでは、特許を取得しているSISL(Stream-Informed Segment Layout)という独自アーキテクチャが採用されている。これは、重複しているかどうかの判断を演算で行うもので、その処理をストレージ上ではなく、メモリ上で3bitのフラグ位置の確認というシンプルな方法で実現している。ストレージIOを介さず、CPUの処理とメモリ上のデータアクセスだけで行えるので、高速な処理が可能なのだ。
さらに、次に来るであろうデータを予測し、あらかじめメモリに載せておくプリフェッチ機能もこれに組み合わされている。これら2つにより、インラインでのリアルタイムな重複排除が可能となる。
「他の多くの重複排除ソリューションでは、いったんディスク上にデータを格納し、そのデータに対しバックグラウンド処理などで重複排除を行います。この方法では、ディスクに重複排除前のデータを格納できる領域が必要になり、ディスクを介すので重複排除にも時間がかかります。これに対し、データを取り込む際にリアルタイムに重複排除できるのは、Data Domainだけです。」(志間氏)
高い効率の重複排除は災害対策を低コストで実現する
さらにData Domainでは、重複排除した結果を圧縮している。そのため、重複排除の効果が出にくい初回のアーカイブ処理でも、元のデータの1/2から1/4程度までサイズを削減可能だ。より重複排除効果が発揮される2回目以降となれば、データの種類にもよるが、1/20から1/50程度までデータ量は削減される。このような高い効率でデータ重複排除ができるので、ある企業の例ではデータセンターの床のタイル17枚分ものスペースを占有していたテープライブラリ装置が、Data Domainに移行したことでほんの8Uのサイズに収まってしまったとのこと。
さらにこの重複排除の高効率性は、昨今、とみに需要が高まっている災害対策でも大きな効果を発揮する。災害対策用に遠隔地にバックアップサイトを構築する際、大きなコスト負担となるのがサイト間の回線の太さだ。レプリケーションに十分な回線性能を得ようとすれば、それ相当の専用回線を契約することとなり、これがかなりのコスト負担となる。
Data Domainであれば、重複排除と圧縮の効果で、2回目以降にバックアップサイトに送るべきデータサイズはきわめて小さくできる。なので「あまり速度の速くない回線でも遠隔地サイトへのレプリケーションが可能です。場合によっては、高い専用線ではなくBフレッツなどの通常のインターネット回線でレプリケーションを行っている例もあります」と志間氏は言う。
さらに、Data Domainならローカルなディスクにリアルタイムに書き出すのと並行して、重複排除後のデータをバックアップサイトに送れるので、ほぼリアルタイムにレプリケーションが可能となる。また、Data Domainのレプリケーションは、1対1の一方通行だけではない。たとえば東京と大阪で、それぞれのサイトのバックアップを双方で持ち合う、あるいは多対1で多くのサイトの遠隔地バックアップを1カ所に集約する、多対多のカスケード型でデータを持ち合うなど、柔軟な構成が可能となっている。この柔軟性もまた、データの安全性の確保とコスト削減の両立に寄与する。そのため「Data Domainを採用する顧客の7割くらいは、災害対策構成での導入となっています」とのことだ。
そして、バックアップやアーカイブを行う際に、データサイズがかなり小さくなるだけでは十分ではない。もっとも重要なことは、重複排除されてアーカイブされるデータの安全性、信頼性がきちんと担保されるかだ。「米国でなどでは、この安全性、信頼性の部分が製品の評価でもっともフォーカスされる部分です」と志間氏。
Data Domainでのデータ信頼性は、2つの方法で確保されている。1つがRAID 6による2種類のパリティによるデータの保護だ。そしてもう1つが、Data Domain独自のデータチェックの仕組み。ディスクに書き込むのと同時に、ファイルシステムレベルでデータが読み込み可能かをチェックするのだ。
定期的に全データのチェックを行い、読み込めないデータが発生した場合にはRAIDレベルでの復旧を行う。それでも復元できない場合には、管理者にアラートを表示し、バックアップデータの再取得を促すことが可能だ。この高いデータの信頼性の確保も、Data Domainが市場で評価されている大きな理由となっている。
Data DomainならOracle Databaseに最適なバックアップ手法となる
Data Domainの効率的な重複排除は、じつはデータベースのバックアップに最適だと志間氏は説明する。もともと、データベースでは挿入や更新のためのデータ・ブロックの空き領域や性別のように値が2つに限定されるようなカーディナリティ(cardinality)の低いデータがよく利用される。このようなデータベース特有のデータでは、重複排除の効率はきわめて高くなるのだ。さらに、前述したようにデータベースでは、インサートやアップデート処理を繰り返すことで、必ず空き領域が発生する。その際には、Data Domainの可変長ブロックでの重複排除は効率的だ。そのため、データベースのバックアップにData Domainを活用すれば、高い効果が期待できるのだ。
中でも、Data DomainはOracle Databaseとの親和性が高いとのこと。Oracle Databaseでバックアップを取得する方法には、exportコマンドを用いたり、標準バックアップツールのRMANを利用したりとさまざまな方法がある。これらのどの方法にも柔軟に対応できるのも、Data Domainの特長。アプリケーションやデータベースからは、Data DomainはたんなるNASあるいはSANのストレージデバイスとして見える。そのため、Data Domainがどのように重複排除を行うかなどを、データベース管理者はまったく意識する必要はないのだ。
なので、現状でバックアップサーバーを立ててテープ装置にバックアップを取っているような環境であれば、テープ装置をData Domainに入れ替えそれを新たにバックアップデバイスに設定するだけで、移行作業は終了する。バックアップサーバーで設定されているジョブスケジュール設定などの変更は一切必要なく、そのまま新たな環境で利用できる。
「Oracle ExadataのようにRMANでバックアップを取ることになっている場合にも、ExadataからRMANを使って直接Data Domainにバックアップを書き出せます。RMANのインクリメンタルマージにも対応しており、これを使ってバックアップを数世代保持するような場合は、世代間で重複するデータが多いのでそれを重複排除することでデータ量をほとんど増やさずに複数世代のバックアップを保持できます。」(志間氏)
さらには、Data Domainの重複排除処理の仕組みを、Oracleのライブラリとしても提供しているとのこと。これを利用すればRMANなどでバックアップを取る際に、データベース上でData Domainと同じ方法で重複排除が行え、さらに効率化し短時間でのバックアップが可能となる。莫大な量のデータのバックアップを行うような場合には、これはきわめて有効なものとなる。
データが増え続けていて、そろそろテープ装置でのバックアップに限界を感じている。あるいは大きなコストをかけずに、確実な方法でデータを守れる災害対策を早急に行いたい。そのように考えているデータベース管理者の方は、一度Data Domainによる新たな重複排除の世界に関心を寄せてみてはいかがだろうか。