TOPサーバ構築・運用> Oracleのデータベースクラスタ技術
最大限の可用性とスケーラビリティを実現するOracle RAC
最大限の可用性とスケーラビリティを実現するOracle RAC

第1回:Linux上で利用するOracle RACのメリット
著者:日立システムアンドサービス  山崎 啓利   2006/6/9
前のページ  1  2   3  次のページ
Oracleのデータベースクラスタ技術

   Oracle製品のデータベースクラスタ技術はOracle7時代よりOracle Parallel Server(OPS)という形で存在しますが、この時代から一貫して「シェアードディスク方式」を採用しています。

   シェアードディスク方式の場合は共有ディスク装置を利用し、ディスクをクラスタ内の全ノードにて共有します。また、障害発生時は障害ノードで実行されていた処理をそのまま他の生存ノードに引き継いで継続させることが可能なため、クライアントアプリケーション側の特殊なロジックも必要としません。ノード間で状況に応じて動的に負荷を分散することが可能であることも特徴です(図2)。
シェアードディスクの概念図
図2:シェアードディスクの概念図


既存の概念を超えたOracle RAC

   多くのメリットを持つシェアードディスク方式ですが、スケーラビリティについては弱点がありました。これはデータを一元管理するという特性上、各ノードから発行される更新処理に対応しつつ、データの整合性を保つためには全ノード間でデータ同期を行う必要がありますが、この作業がディスク経由で実行されることで発生するI/Oボトルネックを避けることができなかったためです。

   具体的な例をベースにして説明します。旧来のOPSの時代では各ノードから同一データ・ブロックに対してデータベース更新要求(write/read)が発生した場合、「最初にブロックを更新したノードは該当ブロックをいったんディスクに書き込み、後続のノードは、ディスクに反映されたデータを読み込んで処理を行う」というディスク経由のメカニズムでデータ同期をはかっていました(図3)。

ハードディスク経由のメカニズムでのデータ同期
図3:ハードディスク経由のメカニズムでのデータ同期

   つまり、競合するノードが増えれば増えるほど、ボトルネックとなるディスクI/Oが頻発する状況となります。そのため、ノード追加が実際の処理効率向上になかなか結びつきにくいという面がありました。

   しかし、Oracle RACではディスク経由で行われていたデータ同期作業をインターコネクト通信を利用したバッファ転送にて対応するように切り替えています。

   これを「キャッシュフュージョン」と呼びます。競合発生時のディスクへの余分なI/Oが発生しなくなったためにボトルネックは大幅に減少し、スケーラビリティ面の弱点を克服しました(図4)。

キャッシュフュージョン
図4:キャッシュフュージョン

前のページ  1  2   3  次のページ


日立システムアンドサービス 山崎 啓利氏
著者プロフィール
日立システムアンドサービス  オープンソリューション本部
カスタマサポートセンタ   山崎 啓利

入社5年目。オラクルサポートに携わりながら、同製品の環境構築・検証作業、および社内のサポート業務システム構築を経て、この2年間は、オラクル製品にサポートに従事している。オラクルを使用するお客様に対して、ベストのサポートを提供すること心がけ、日々対応している。


INDEX
第1回:Linux上で利用するOracle RACのメリット
  はじめに
Oracleのデータベースクラスタ技術
  Oracle Clusterware概要