連載
» 2017年03月24日 05時00分 UPDATE

ゼロからのリレーショナルデータベース入門(7):ゼロから理解する「Oracle RAC」 (1/2)

本連載は、企業の成長に不可欠な「データ活用」を推進していくために必要なデータ基盤の基礎を“あらためて”解説していきます。今回は、Oracle Databaseのクラスタリング機能である「Oracle Real Application Clusters(Oracle RAC)」の基礎と仕組みを解説します。【更新版】

[村上健実,株式会社アシスト]

連載バックナンバー

「Oracle RAC」とは

 「Oracle Real Application Clusters(以下、Oracle RAC)」とは、ロードバランス(負荷分散)型のクラスタリング構成をOracle Databaseで実現する方式のことです(図1)。

photo 図1 ロードバランス型のクラスタリング構成

 Oracle RACでは、各ノードで稼働している複数のOracleインスタンスで、共有ストレージ上のデータベースを管理しています。主に以下の3つの特徴があります。

1:「可用性」を高める

 Oracle RACの構成では、複数のインスタンスで1つのデータベースを管理しています。このため、仮にあるノードでハードウェア障害が発生したとしても、他のノードのOracleインスタンスに接続しているアプリケーションは処理を継続できます(図2)。

 また、そのときに障害が発生したノードにアクセスしていたアプリケーションも、他ノードに接続を切り替える(フェイルオーバーする)ことで処理を継続できます。つまり、サービスを止めない=可用性を高めることが可能です。

photo 図2 Oracle RACで実現する可用性

2:「負荷分散」が可能

 Oracle RACの構成では、複数のインスタンスで1つのデータベースを管理しています。つまり、「どのインスタンスに接続して処理を行っても、同様の結果が得られる」ということです。クライアントから接続するインスタンスをランダムに選択したり、接続要求を負荷の低いノードに振り分けたりして、負荷を分散できます(図3)。

photo 図3 Oracle RACで実現する負荷分散

3:「拡張」によって性能向上が可能

 Oracle RACで構成するインスタンスは増減が可能です。インスタンスを追加(スケールアウト)すれば、システム全体の処理能力を向上させることができます(図4)。

photo 図4 Oracle RACで実現する拡張性

 以上のようにOracle RACでは、複数のインスタンスで1つのデータベースを管理することで、可用性、負荷分散、拡張性の実現という大きなメリットが得られます。その一方で、複数のインスタンスで1つのデータベースのデータを同時に参照、更新するために、シングルインスタンスの場合とは異なる仕組みが必要となります。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。