RACが変えるデータベース環境

2008年7月7日(月)
小林 範昭

Oracle Real Application Clustersを知る

 本連載では、Oracle RACを利用するにあたってのポイントを検証結果とともに解説します。第1回ではデータベースグリッドとOracle RACについて押さえましょう。

 グリッドコンピューティングとは、ネットワークに接続された複数のコンピュータで並列処理を行う技術を指し、高速に大量の処理を実行する場面で利用されます。

 データベースでの利用についても同様で、複数のサーバーで処理することで、大量のトランザクションを効率的に処理できるようになります。また、特定のサーバーに障害が発生した場合、ほかのサーバーで処理を引き継がせることで、耐障害性(高可用性)を確保することもできます。

 それまで概念として議論されてきたデータベースグリッドを、エンタープライズでの運用に耐えられるレベルで初めて実装したのが、2002年にリリースされた、「Oraacle9i Database Release2」の「Oracle Real Application Clusters」(以下RAC)です。

 翌2003年にリリースされた「Oracle Database10g」(以下10g)においてRACは、パフォーマンスや管理面でも大きく改良され、ミッションクリティカルであることが求められる多くの企業で採用されました。

 RACの特徴を表すキーワードとして挙げられるのが、「可用性と拡張性の両立」です。

 可用性を実現するためのアーキテクチャとして、RACは「シェアードディスク型」を採用しています。

 ノードごとにアクセスできるディスクを分割する「シェアードナッシング型」は、パフォーマンス面でのメリットは大きいものの、1つのノード障害が全体に影響を与えるため、可用性の面で問題があります。

 複数のノードでディスクを共有する「シェアードディスク型」は、1つのノード障害でも、ほかのノードで処理を引き継ぐことができるため、可用性の問題をクリアすることができました。一般的に「シェアードディスク型」の場合は、ノード間の同期が問題となりますが、これも「キャッシュフュージョン」というテクノロジーでクリアしています。

可用性と拡張性の両立

 RACはよくHA(High Availability)構成と比較して検討されることがありますが、HA構成は障害発生時に待機系に切り替える作業が発生するため、一般的にフェールオーバーに時間がかかる傾向にあります。

 RACはActive-Active構成であるため、障害発生時のフェールオーバーが高速に行えるという利点があります。

 もう1つのキーワードである拡張性として、RACのノード追加時の柔軟さが挙げられます。既存の構成で処理能力が不足した場合、RACはノード追加することで、スケールアウトによる拡張性を実現することができます。2ノード構成によるスモールスタートから、ビジネスの成長に合わせてノード数を追加するといったことが可能になります。

 続いて、RACの中核機能のうち主要なものを3つ紹介したいと思います。紹介するのは「Oracle Clusterware」「Automatic Storage Management」「サービス」です。

伊藤忠テクノソリューションズ株式会社
ITエンジニアリング室 ミドルウェア推進部 DB技術課 課長。企業の情報システム部勤務を経て、2001年伊藤忠テクノソリューションズ(CTC)入社。入社後はデータベース製品のプリセールスや技術検証を担当、2006年にOracle Master Platinum Oracle Database 10gを取得。2008年より現職。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています