Enterprise Watch
バックナンバー

日本オラクルに聞くデータベース向けストレージ技術 [後編]


 日本オラクル マーケティング本部 システム製品マーケティンググループ 担当マネージャの山本哲也氏に、データベースという切り口からOracleを支える最新のストレージ技術についてお聞きした。後編では、データベースをNASに格納することの是非、Oracleとストレージハードウェアベンダ間の協業体制、Disk to Diskバックアップを容易にするフラッシュバック機能などについて取り上げる。


日本オラクル株式会社 マーケティング本部 システム製品マーケティンググループ 担当マネージャの山本哲也氏

データベースの格納場所として顧客からの要望が増えつつあるNAS

 ASMでは、ディスクグループに追加、削除するストレージを“ディスク”と表現したが、これは単なる1本のHDDを指しているわけではない。実際には、RAID構成をとるローカルディスク、SANに接続されたディスクサブシステム、Ethernetネットワークに接続されたNASなど、どのようなディスクでもかまわない。また、ASMでストレージ仮想化を行うディスクを一種類に統合する必要はなく、(実際にやるかどうかは別として)ローカルディスク、SAN上のディスクサブシステム、NASを混在させることも可能だ。

 ここで興味があるのは、データベースを格納するストレージとしてNASを利用することの是非だ。データベースサーバーからNASを利用する場合、NASはNFS over TCP/IPやCIFS over TCP/IPでマウントして使用するため、ローカルディスクやSAN上のストレージ(Fibre Channel接続)と比較してプロトコル処理のオーバヘッドが発生しやすい。また、データへのアクセス単位は、ローカルディスクやSAN上のディスクサブシステムがブロックレベルであるのに対し、NASはファイルレベルとなる。こうした特性の違いから、一般にファイルサービスやWebサービスのようなアプリケーションにはNASを、データベースのようなアプリケーションにはローカルディスクやSAN上のディスクサブシステムを選択するのが正しいアプローチと考えられていた。

 しかし最近では、データベース用のストレージとしてNASを選択したいという顧客が増えているという。NASの価格低下は著しく、ここにデータベースを搭載できればシステム価格を大幅に抑えられるというのが主な理由だ。山本氏は、NASとOracle Databaseを組み合わせたときのパフォーマンスについて次のように説明する。

 「NASを提供しているストレージベンダと共同で検証した結果によれば、NASであっても十分実用レベルのパフォーマンスが得られています。確かにSANを利用すれば最高レベルのパフォーマンスを達成できますが、その構築や管理は決して容易ではありません。NASは、SANと比較しますと接続や管理が容易ですから、実用レベルのパフォーマンスと優れた管理性を両立させたいお客様にはNASが適しています。また、Oracleがワールドワイドで進めている社内システムの統合において、データ統合の要となるストレージはNASに移行しており、現在、その総容量は1PBを越えています」。


ストレージベンダとの密接な協業体制

 Oracleは、ストレージベンダとの協業体制にも力を入れている。その一つがOSCP(Oracle Storage Compatibility Program)だ。

 OSCPは、Oracle Databaseとストレージベンダが提供するストレージソリューションの適合性、そしてそのソリューションでOracle Databaseの構築、運用手順を確認するためのストレージ製品認定プログラムである。適合性の検証には、Oracle Test Suitesと呼ばれるソフトウェアスイーツを使用する。現在、数多くのストレージベンダがOSCPに参加しており、主にNAS、リモートミラーリング、スナップショットの三分野においてOSCPが実施されている。

 実は、筆者はインタビュー中に“Oracle Databaseに適したストレージとは具体的にどんなものか?”という質問を単刀直入にぶつけてみたのだが、山本氏の回答は「弊社はデータベースソフトウェアを提供するベンダですから、現在発売されているストレージ製品について具体的なコメントを出せる立場にはありません。むしろ、このような疑問を持たれているお客様のためにも、OSCPを導入したのです。つまり、Oracleが推奨するストレージとは、OSCPの認定を受けた製品ということになりますね」というものだった。

 なお、OSCPをサポートする具体的な製品名については、Oracleが公開しているOSCP Homeを参考にしていただきたい。


Oracle Databaseの信頼性を高めるDouble Checksum、DB Validator

 もう一つのストレージベンダとの協業が、2001年11日に発表されたOracle Hardware Assisted Resilient Data(HARD) Initiativeだ。HARD Initiativeは、データベースの破壊を未然に防ぐ堅牢なシステム構築を目指すイニシアティブである。

 データベースのデータファイルが破損するケースはごくまれだが、万が一にも破損した場合にはデータベースに深刻な被害をもたらす。というのも、整合性を失ったデータがストレージに書き込まれた場合、その原因を特定したり、システムを修復したり、データベースをリカバリしたりするのに多大な労力と時間を必要とするからだ。当然、このデータベースによって支えられているビジネスにも大きな損害が発生することになる。

 ディスクの障害に対してはRAIDが大きな力を発揮するが、RAIDで保護できるのは末端のHDDで何らかの障害が発生した場合のみだ。外部からのノイズ混入やコントローラの障害などにより、信号経路の途中でデータ化けが生じた場合などにはRAIDでは保護しきれない。そこでOracleは、HARD Initiativeに参加するストレージベンダの協力を得て、ストレージ機器内部にデータの整合性を検証するアルゴリズムを実装した。これは、ストレージにデータを書き込む前にOracleデータの再検証を行うことで、データ破損に対するエンドツーエンドのデータ保護を実現するものだ。この結果、RAIDを超えるレベルでの強力なデータ保護が可能になった。

 HARD Initiativeによって生まれた主なテクノロジには、EMC Symmetrixシステムに搭載されている「EMC Double Checksumソフトウェア」と、日立製作所 SANRISE9900Vシリーズ(海外製品名Lightning9900Vシリーズ)に搭載されている「DB Validator」がある。

 いずれもODM(Oracle Disk Manager、I/O効率を高めるためのOracle専用API)をストレージ側に実装する形がとられており、その動作原理はほぼ同じだ。Oracleシステムは、書き込み要求ごとにチェックサムを割り当てるが、ストレージにデータが到着するとチェックサムの計算を通じてOracleシステムのデータとの照合が行なわれる。双方のチェックサムが一致した場合にはデータがディスクに書き込まれるが、一致しない場合には、問題の回避もしくは解決を促す警告が発せられ、データは書き込まれない。これにより、不整合性を持つデータの書き込みを未然に防ぐことができる。


D2Dバックアップを促進するフラッシュバック機能

 最新のOracle Database 10gで強化された機能にフラッシュバック機能がある。Oracle9i Databaseでは、一時的に過去のデータを参照するための機能としてフラッシュバック問合せが提供されていた。これは、ユーザーの操作ミスなどによって重要なデータを損失した場合に、セッション内で一時的に過去のデータにさかのぼれるようにする機能だ。Oracle Database 10gでは、フラッシュバック問合せだけでなく、フラッシュバックデータベースやフラッシュバックテーブル、フラッシュバックドロップといったデータの復旧が可能な機能を提供しており、トランザクション履歴フラッシュバックや行履歴フラッシュバックなどと併せて利用することにより、任意の時点のデータの復元そのものが可能になっている。

 「データベースがオンラインの状態でデータのバックアップを行うと、データベースの運用を止めないですむ反面、データベースのパフォーマンス劣化につながります。一方、フラッシュバック機能では、専用のリカバリエリアに蓄積された更新履歴を利用してデータの復元を行いますので、データベースのパフォーマンス劣化を最小限に抑えられます。これらの点から考えますと、フラッシュバック機能は、バックアップというよりもスタンバイのようなイメージで捉えていただけるとわかりやすいかもしれません。さらにフラッシュバック機能の最大の特徴は、バックアップデータをリストアすることなくデータベース全体を任意の時点の状態に復元できることにあります。この操作は簡単なコマンドもしくはOracle Enterprise Manager 10gからの簡単な操作で行えますので、これまでのやり方であるバックアップデータをリストアして復旧するよりも、短時間で簡単に、より安全に復元できます(山本氏)」。


フラッシュバックデータベースログを利用することにより、希望の時点のデータベースに復旧できる(出典:Yasushi Yamazaki - Associate Consultant, Consulting Service Div., Oracle Corporation Japan, Oracle Database 10g - Flashback Any Errors, OracleWorld Tokyo, カンファレンスG-5、以下同様)。
Oracle Database 10gでは、フラッシュバック問合せに加え、データベース単位、表単位などでのデータ復元も可能になった。

 こうしたフラッシュバック機能が強化された背景には、Disk to Disk(D2D)バックアップの存在がある。D2Dバックアップは、テープの代わりにディスクに対してデータをバックアップする手法である。従来は、MB単価が安価なテープにバックアップをとるのが一般的だった。そして、差分/増分バックアップを併用することで、バックアップ時間の短縮も同時に図ってきた。

 しかし、近年のディスクの価格低下に伴い、バックアップ先をディスクとするアプローチも現実的な選択肢となりつつある。当然、ディスクのアクセス速度、データ転送速度ともに高速なので、D2Dバックアップを利用すればデータのバックアップやリストアの時間を短縮できる。Oracleは、こうしたバックアップのトレンドに合わせて、Oracle Database 10gでフラッシュバック機能を強化してきたわけだ。「Oracle Database 10gはまだ発売されて間もないため、フラッシュバック機能を利用したOracleシステムでのD2Dバックアップの事例はほとんどありません。ただし、お客様からの反応はよいので、今後はD2Dバックアップを採用するところが少しずつ増えていくのではないでしょうか(山本氏)」。

 本連載の「日本ストレージ・テクノロジーに聞くテープストレージの魅力 [後編]」でもすでに取り上げたように、テープを使用しない完全なD2Dバックアップに対して否定的な意見も当然ある。Oracleはこのあたりの事情をどのように考えているのだろうか。山本氏は、次のように回答する。

 「バックアップにテープを併用すべきかどうかについて、Oracleはあくまでも中立の立場をとっています。データの復旧をとにかく短時間で行いたい場合にはD2Dバックアップが適しているでしょうし、セキュリティを重視する場合やデータのアーカイブが法令で義務づけられている場合にはテープを併用する必要があるでしょう。このように、お客様の環境や要求によって、さまざまなアプローチがとられます。Oracleとしては、D2Dがいいのか、それともD2TやD2D2Tがいいのかというバックアップ手法の是非を論じるのではなく、こうしたさまざまなアプローチのいずれに対しても確実にお応えできることが重要だと考えています。その一つがフラッシュバック機能というわけです」。



URL
  日本オラクル株式会社
  http://www.oracle.co.jp/
  Oracle Hardware Assisted Resilient Data (HARD) Initiative
  http://www.oracle.com/technology/deploy/availability/htdocs/HARD.html


( 伊勢 雅英 )
2004/08/30 10:11

Enterprise Watch ホームページ
Copyright (c) 2004 Impress Corporation All rights reserved.