「社内に散在するデータベースを集約/統合して、コスト削減や運用管理の効率化を図りたい」──近年、IT最適化に取り組む企業の間では、このような目的からデータベース統合に乗り出す動きが活発化している。その際、サーバ統合と同様に仮想化技術の利用が検討されるケースが少なくないが、パフォーマンスや可用性、運用管理性を考慮した場合、このアプローチは必ずしも最適だとは言えない。データベース統合に関しては、あくまでもデータベースの視点からアプローチすることが肝要だ。オラクルが考えるデータベース統合のベスト・アプローチを紹介しよう。
サーバ仮想化によるデータベース統合がお勧めできない理由
コスト削減や運用負荷の軽減などを目的に、現在、多くの企業が社内に散在するサーバ・マシンの統合を進めている。そこで広く利用されている技術がサーバ仮想化だ。具体的には、ハイパーバイザ型の仮想環境などを利用し、複数台のサーバを1台の物理サーバに集約するといったことが行われている。コンピュータ・リソースの利用効率を高めることで、サーバ・マシンの台数を減らしてハードウェア・コストを削減し、またハードウェアの運用管理にかかる負担も抑えようという寸法である。
このようにサーバ仮想化には大きなメリットがあるが、一方で用途によっては最適なアプローチだとは言えない場合もある。その代表的な例がデータベースの統合だ。実際、アプリケーション・サーバや高いハードウェア性能を必要としないミドルウェアは統合しても、データベースについてはサーバ仮想化による統合を見送るというケースがしばしば見られる。データベース統合に関して、サーバ仮想化は最適解ではないと判断してのことだろう。
それでは、なぜサーバ仮想化はデータベース統合に最適ではないのか? 主な理由は次の3点だ。
- 十分なパフォーマンスが得られない恐れがある
- 必要な可用性が得られない場合がある
- 運用管理がいたずらに複雑化する恐れがある
以降、これらの理由について具体的に見ていこう。
まずパフォーマンスについては、オーバーヘッドの大きさが主な劣化要因となる。サーバ仮想化では、各仮想サーバに対してメモリやストレージなどのリソースを割り当て、それらの上で個別にOSやソフトウェアが動作する。これにより、確かにハードウェアは統合される。だが、データベースの視点で見ると、個別に用意するOSなど、本来は不要なリソースのオーバーヘッドによるパフォーマンスへの悪影響が、データベース統合の集約率にもマイナスに作用するだろう。
この問題を避けるために、仮想サーバに高速で高価なストレージを接続するというアプローチも考えられる。ただし、そもそもコスト削減が目的のデータベース統合において、パフォーマンスの劣化を避けるために高価なストレージを使うという発想は本末転倒である。
日本オラクル
製品戦略事業統括本部
データベースコア製品推進本部
シニアプロダクトラインマネジャー
岩崎 護氏
これに関連して、「拡張性の観点でも、サーバ仮想化によるデータベース統合には課題がある」と日本オラクルの岩崎護氏(製品戦略事業統括本部 データベースコア製品推進本部 シニアプロダクトラインマネジャー)は指摘する。
「現在の仮想化技術は物理サーバのリソースを分割して利用するためのものであり、物理サーバが持つリソース以上の性能が必要な場面には対応できません。つまり、将来的にハードウェアへの要求が高まりそうだということであれば、あらかじめ性能の高いハードウェアを用意する必要があり、これがコスト上昇の要因となってしまうのです」(岩崎氏)
サーバ仮想化によるデータベース統合には、可用性や管理性の面でも課題
日本オラクル
製品戦略事業統括本部
データベースコア製品推進本部
プロダクトラインマネジャー
山本 祐介氏
ミッション・クリティカルな領域で使われるデータベースに関しては、可用性の低下も大きな問題となる。サーバ仮想化で可用性を担保できない理由を、日本オラクルの山本祐介氏(製品戦略統括本部 テクノロジー製品推進本部 プロダクトラインマネジャー)は次のように説明する。
「サーバ仮想化において可用性を担保しようとすれば、仮想化環境を提供するソフトウェアの機能を使うことになります。この場合、仮想化ソフトウェアが検知できる範囲の障害にしか対応できず、例えばOracle Databaseの特定のプロセスが停止するといった事態が生じても、それを仮想化ソフトウェア側で検知することはできません。たとえ仮想化ソフトウェアにHA(High Availability)の機構が備わっていたとしても、それだけではデータベースのさまざまな障害には十分に対応できないのです」(山本氏)
なお、オラクルはOracle Databaseによるデータベース・システムの可用性を高める仕組みとして「Oracle Real Application Clusters(RAC)」と呼ばれるクラスタリング機能を提供している。ただし、Oracle RACは仮想化環境での利用は推奨されないため、別途、何らかの仕組みを用意する必要がある。そこで別のソリューションを使うとなれば、その分のコストが発生するほか、それによって実際に高可用性を担保できるかどうかを検証しなければならない。このように、サーバ仮想化でデータベースの高可用性を実現するには、さまざまなハードルがあるわけだ。
管理性の面でも検討が必要だろう。そもそもサーバ仮想化では、個々のデータベースが個別に動作している状況に変わりはなく、従来と同様の管理作業が不可欠となる。また、仮想化されたサーバの運用管理まで必要になることを考えると、物理サーバでの運用よりも負担が増える可能性すらある。サーバ仮想化を導入したユーザーが運用管理を課題として挙げることが多いのは、こうした理由のためだ。
高いパフォーマンスで高集約なデータベース統合を実現するOracle Exadata、Oracle Database Appliance
このように、サーバ仮想化によるデータベース統合には多くの課題がある。とは言え今日、コスト削減や運用管理の効率化を求めるなら、何らかの方法によってデータベースの集約を図りたいところだ。そうした要求に応えるために、オラクルは効率的なデータベース統合を実現するシステム基盤として、ハードウェアとOracle Databaseなどのソフトウェアを高度に融合したEngineered Systems、「Oracle Exadata」および「Oracle Database Appliance」を提供している。ここまでに指摘してきた課題を両システム基盤がどのように解消するのかを説明しよう。
まずパフォーマンス面の課題に関してご注目いただきたいのは、Oracle ExadataとOracle Database Applianceがデータベースに最適化されたシステム基盤であるということだ。
「Oracle ExadataとOracle Database Applianceは、Oracle Databaseの実行に最適化されたハードウェアとソフトウェアにより、極めて高いパフォーマンスを実現しています。
またそれにより、データベース統合の集約率を高められるという点も大きなメリットでしょう」(岩崎氏)