Oracle Databaseは、常に企業の重要なシステムに多く採用されています。その理由は、40年以上進化を続け、常に世界各国でトップシェアを保ち続けているオラクル社のテクノロジーに対する高い信頼性です。
さらに、仮想化技術が進化し、ハードウェア構成も複雑になった昨今では、データベースにも高い可用性と拡張性が求められています。
そこで2000年初旬に登場したOracle Real Application Clusters(RAC)は、クラスタ環境によってOracle Databaseの可用性をさらに高め、安定稼働を実現させました。本記事では、このOracle RACの特徴や導入メリットについて解説していきます。
Oracle Real Application Clusters(RAC)とは?
Oracle Real Application Clustersは、Oracle RAC(ラック)と呼ばれ、Oracle Databaseの拡張機能の1つです。具体的には「複数のサーバーを関連付けて、単一のシステムとして動作するように構成する、クラスタ環境」のことです。
Oracle RACでは、すべてのノードがアクティブであることが特徴です。HA構成と違い、メインと予備(待機)が切り替わるのではなく、構成するすべてのインスタンスが常に同一のデータベースにアクセスすることができます。
負荷分散型のクラスタリング構成を実現し、データベースのパフォーマンスを拡張する機能として、実際に世界中の大手企業に使用されています。
Oracle Databaseとは
そもそもOracle Databaseとは、オラクル社によって提供される商用データベースです。大量のデータを扱うことに優れ、オンプレミスだけでなくクラウド環境でも使用することができます。定期的なセキュリティ診断によって脆弱性をチェックし、セキュリティパッチを配信することで、堅牢性の低下を防ぎ、安定して稼働できる仕組みが整備されています。
また、多くのOS/プラットフォーム、そしてデータ形式に対応していることから、移行のしやすさや開発の自由度の高さにも定評があり、長年に渡り世界中で支持され続けています。しかし、さらなる安全性を求める場合は、拡張機能であるOracle RACの適用が効果的なのです。
Oracle RACの特徴
ミッションクリティカルなシステムにおいては、システムダウンは絶対に避けなければならない重大なリスクで、それを回避するための対策は必須です。
Oracle RACには、可用性を高め、負荷分散による安定性の確保や、拡張性向上とさまざまな機能があります。それぞれの特徴について確認していきましょう。
可用性を高める
Oracle RACでは、複数インスタンスで1つのデータベースを管理しています。そのため、仮に管理下のサーバー1台に障害が発生した場合、フェールオーバー機能によってほかのサーバーに処理を引き継ぎます。
ハードウェアだけでなく、障害が発生したサーバーにアクセスしていたアプリケーションも同時に接続先を切り替えます。クライアント側は特にこうした切り替えを意識することなく、安定してシステムを利用し続けられることになります。つまり、自然とダウンタイムを最小限に抑え、可用性を高めることができるようになるのです。
負荷分散
外側からは1台のサーバーのように見えますが、実際には複数サーバーが並列で稼働しています。クライアントから接続するインスタンスをランダムに、あるいは負荷の低いノードに自動的に振り分けることで、負荷分散を図っています。これがOracle RACの大きな特徴です。
「高負荷の処理が行われ、接続が急増した」というような場合でも、サーバーの負荷を分散することで、突然のシステムダウンなどを防ぐことが可能です。
拡張性向上
拡張性の向上も、Oracle RACの大きな特徴の1つです。構成するインスタンスは運用中に増減が可能なため、既存サーバーを停止することなくシステムの処理能力を向上させることができます。スモールスタートでシステム運用を開始し、データ容量や接続負荷を確認しながら徐々に機能追加していくこともできるため、計画的にシステム運用を進めていけるのです。
Oracle RACの基本構造・構成について
Oracle RACの基本的な構造・構成はどのようになっているのでしょうか。実際にインストールして運用していく場合に必要なハードウェア、ソフトウェアについても確認していきましょう。
データベース構造
Oracle RACは、シングル・インスタンスのデータベース構造です。
データ表領域、制御ファイル、オンラインREDOログ、UNDO表領域を含み、すべてのノードが全データベースファイルにアクセスすることができます。そのため、例えば障害発生時にも、障害ノードを自動的に切り離し、ディスクやインスタンスを再起動することなく処理を継続することが可能です。データベースとしてはOracle Databaseを利用しますが、必要なソフトウェアは後述します。
ハードウェア構成
Oracle RACの構築に必要なハードウェアは、ノード、共有ストレージ、インターコネクト・ネットワークの3点です。クライアント、あるいはノード間通信を行うルーターなどのネットワーク機器、また各ノードには、それぞれのネットワークに対応するNICが必要です。
RACを構成するためのデータベースサーバー、そして全ノードからアクセス可能なストレージが必須で、サーバーのメンテナンスを簡略化するため、各ノードで同一のサーバー(ハードウェア)を使用することを推奨しています。
ソフトウェア構成
Oracle RACのソフトウェア構成は、例えばOracle DB 12cを利用する場合、Oracle Databaseと、クラスタ用のOracle 12c Grid Infrastructureのインストールが必要です。
なおGrid Infrastructureには、クラスタメンバーシップとプロセスを管理するOracle Clusterwareと、ストレージを管理するOracle Automatic Storage Management(ASM)が含まれています。
まとめ
非常に高い可用性と、運用後の拡張性も兼ね備えた魅力あるOracle RAC は、企業においてOracle Databaseの導入を検討する際、併せて検討したい拡張機能の1つです。マルチプラットフォームをサポートしており、Oracle Cloudも含めてOracle RACを使用することができ、データベース全体を標準化することが可能になります。
ただし、注意点があり、Oracle Databese19cから、Standard Edition2でOracle RACが非サポートとなっています。今後Oracle RACを導入したい場合は、Oracle CloudなどのRACがサポートされるライセンスの適用を検討していく必要があります。
- カテゴリ:
- エンジニアリング