ゼロから理解する「Oracle RAC」:ゼロからのリレーショナルデータベース入門(7)(1/2 ページ)
本連載は、企業の成長に不可欠な「データ活用」を推進していくために必要なデータ基盤の基礎を“あらためて”解説していきます。今回は、Oracle Databaseのクラスタリング機能である「Oracle Real Application Clusters(Oracle RAC)」の基礎と仕組みを解説します。【更新版】
目次
「Oracle RAC」とは
「Oracle Real Application Clusters(以下、Oracle RAC)」とは、ロードバランス(負荷分散)型のクラスタリング構成をOracle Databaseで実現する方式のことです(図1)。
Oracle RACでは、各ノードで稼働している複数のOracleインスタンスで、共有ストレージ上のデータベースを管理しています。主に以下の3つの特徴があります。
1:「可用性」を高める
Oracle RACの構成では、複数のインスタンスで1つのデータベースを管理しています。このため、仮にあるノードでハードウェア障害が発生したとしても、他のノードのOracleインスタンスに接続しているアプリケーションは処理を継続できます(図2)。
また、そのときに障害が発生したノードにアクセスしていたアプリケーションも、他ノードに接続を切り替える(フェイルオーバーする)ことで処理を継続できます。つまり、サービスを止めない=可用性を高めることが可能です。
2:「負荷分散」が可能
Oracle RACの構成では、複数のインスタンスで1つのデータベースを管理しています。つまり、「どのインスタンスに接続して処理を行っても、同様の結果が得られる」ということです。クライアントから接続するインスタンスをランダムに選択したり、接続要求を負荷の低いノードに振り分けたりして、負荷を分散できます(図3)。
3:「拡張」によって性能向上が可能
Oracle RACで構成するインスタンスは増減が可能です。インスタンスを追加(スケールアウト)すれば、システム全体の処理能力を向上させることができます(図4)。
以上のようにOracle RACでは、複数のインスタンスで1つのデータベースを管理することで、可用性、負荷分散、拡張性の実現という大きなメリットが得られます。その一方で、複数のインスタンスで1つのデータベースのデータを同時に参照、更新するために、シングルインスタンスの場合とは異なる仕組みが必要となります。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- SQLの基礎 「SELECT」文を覚えよう
- SQLとはどういう言語か
「SQLは何となく苦手」という人は意外と多いものです。すでに何らかのプログラミング言語を習得している人を見ても、SQLを苦手としている人は少なくありません。そこで、実際にSQLを入力して結果を見ながら学習する連載を始めます。用意するのはインターネットにつながったWebブラウザだけ。気軽に始めてみてください。(編集部) - RDBMS製品のビッグ3、それぞれの“癖”をつかもう
本連載はOracleを使ったデータベースシステムの開発・運用管理にある程度の知識を持つ読者を対象に、Oracle以外の商用RDBMSであるMicrosoft SQL ServerとIBM DB2とのアーキテクチャの違いを明らかにし、マルチベンダに対応できるデータベースシステムの設計・開発・運用ノウハウを紹介していく。(編集局) - NoSQLはRDBMSに取って代わるものなのか?
「memcached」や「Apache Cassandra」、「Apache CouchDB」など、RDBMSとは異なる考えで設計してあるデータベース管理システムが普及しつつあります。この連載では、これら新しいデータベース管理システムの特徴と、RDBMSとの使い分け方について解説します。(編集部)