|
||||||||||||||||||||||
| 前のページ 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 次のページ |
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
||||||||||||||||||||||




