本連載は、企業の成長に不可欠な「データ活用」を推進していくために必要なデータ基盤の基礎を“あらためて”解説していきます。今回は、Oracle Databaseのクラスタリング機能である「Oracle Real Application Clusters(Oracle RAC)」の基礎と仕組みを解説します。【更新版】
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「Oracle Real Application Clusters(以下、Oracle RAC)」とは、ロードバランス(負荷分散)型のクラスタリング構成をOracle Databaseで実現する方式のことです(図1)。
Oracle RACでは、各ノードで稼働している複数のOracleインスタンスで、共有ストレージ上のデータベースを管理しています。主に以下の3つの特徴があります。
Oracle RACの構成では、複数のインスタンスで1つのデータベースを管理しています。このため、仮にあるノードでハードウェア障害が発生したとしても、他のノードのOracleインスタンスに接続しているアプリケーションは処理を継続できます(図2)。
また、そのときに障害が発生したノードにアクセスしていたアプリケーションも、他ノードに接続を切り替える(フェイルオーバーする)ことで処理を継続できます。つまり、サービスを止めない=可用性を高めることが可能です。
Oracle RACの構成では、複数のインスタンスで1つのデータベースを管理しています。つまり、「どのインスタンスに接続して処理を行っても、同様の結果が得られる」ということです。クライアントから接続するインスタンスをランダムに選択したり、接続要求を負荷の低いノードに振り分けたりして、負荷を分散できます(図3)。
Oracle RACで構成するインスタンスは増減が可能です。インスタンスを追加(スケールアウト)すれば、システム全体の処理能力を向上させることができます(図4)。
以上のようにOracle RACでは、複数のインスタンスで1つのデータベースを管理することで、可用性、負荷分散、拡張性の実現という大きなメリットが得られます。その一方で、複数のインスタンスで1つのデータベースのデータを同時に参照、更新するために、シングルインスタンスの場合とは異なる仕組みが必要となります。
Copyright © ITmedia, Inc. All Rights Reserved.