ここからはOracle RAC(Real Application Clusters)の基本的な概念について述べていきたいと思います。
「RAC」の読み方は普通に「ラック」です。
その前に、通常のデータベースはこんな感じでしたね。
そして、RAC(2ノード)はこんな感じです。
1つのデータベースに対して2つのインスタンスが同時に読み書きを行っています。
これが、RAC(Real Application Clusters)というやつです。
物理的に(真面目に)書くとこんな感じです。
片方のサーバ、インスタンスがダウンしても、もう一方で処理が継続できるというのがウリです。
ちなみに2ノード以上の構成も可能です。
【4ノード】
【8ノード】
さてさて、2ノードのインスタンス君逹をよーく見てみると、あるものに気付きました。 何やら糸電話のようなものを使っています。
密かに会話を聞いてみましょう。
インスタンス君①「ここは俺が書きこむからちょっと待っとけよ」
インスタンス君②「早くしてくださいよー、スケジュール詰まってんすよー、待機イベント出ちゃいますよー、怒られるんすからー」
インスタンス君①「うるせーなー、ディスクの奴が遅くて俺も待ってんの!」 ・・・
何やらただならぬ雰囲気ですね。
どうやらインスタンス君同士は糸電話を通していつも話し合っているようです(Cache Fusion)。
まとめるとこんな感じです。
まとめないとこんな感じです。
続く。