【問題形式で学ぶOracle】第2回:RACとマルチテナントの決定的な違い!複数対複数の関係をマスターしよう
Oracle Database のアーキテクチャや可用性を語る上で絶対に外せないのが、「RAC(Real Application Clusters)」と「マルチテナント・アーキテクチャ」という2つの強力な仕組みだ。
どちらも「複数」を扱う技術であるため、頭の中でごちゃ混ぜになりやすいポイントでもある。今回はこの2つの違いを、4択の練習問題を通じてスッキリ整理してみよう。
本日の問題
【問】Oracle Database の「RAC(Real Application Clusters)」および「マルチテナント・アーキテクチャ」の構成・特徴に関する記述として、最も適切なものを次の選択肢から1つ選べ。
- A. RACは1つのインスタンスで複数のデータベースを利用する技術であり、マルチテナントは1つのデータベースに対して複数のインスタンスを割り当てる技術である。
- B. RACは1つのデータベースに対して複数のインスタンスを割り当てて可用性を高める技術であり、マルチテナントは1つのインスタンス(CDB)で複数のデータベース(PDB)を利用できる技術である。
- C. RACとマルチテナントは完全に同じ目的の技術であり、どちらも単一サーバーの負荷分散のみを目的としている。
- D. マルチテナントは物理サーバーを完全に二重化してハードウェア障害に備える仕組みであり、RACはメモリとプロセスの構造を完全に共有しない独立した仕組みである。
正解と解説
【正解】
B. RACは1つのデータベースに対して複数のインスタンスを割り当てて可用性を高める技術であり、マルチテナントは1つのインスタンス(CDB)で複数のデータベース(PDB)を利用できる技術である。
詳しい解説
ごちゃ混ぜになりがちなこの2つは、「主役(1つ側)がどちらにあるか」を意識すると非常に分かりやすくなる。
- RAC(Real Application Clusters):【データベースが1つ & インスタンスが複数】
1つのデータベース(ストレージ上のファイル群)に対して、複数のサーバー(インスタンス)から同時にアクセスする構成。万が一1台のサーバーが故障しても、別のインスタンスが処理を引き継ぐことでシステム全体の「可用性(耐障害性)」や「拡張性」を高めることができる。 - マルチテナント(CDB/PDB):【インスタンスが1つ & データベース(PDB)が複数】
1つのインスタンス(CDB$ROOT)の下に、複数のプラガブル・データベース(PDB)を収容する構成。前回学んだ「インスタンスとデータベース」の数でいうと、「1つのインスタンス(エンジン)で複数のデータベース(コンテナ)をまとめて管理・利用する」仕組みである。
試験や実務の設計でも「1対多の方向性」を逆にしたひっかけ問題が非常に出やすいので、それぞれの矢印の向きをしっかり押さえておこう。
まとめ
| 技術名称 | 構造のイメージ | 主な目的 |
|---|---|---|
| RAC | DB 1に対して、インスタンス 多 | 可用性・耐障害性の向上(止まらないシステム) |
| マルチテナント | インスタンス 1に対して、PDB(DB) 多 | 集約・管理効率の向上(リソースの共有と効率化) |
「RACはマルチサーバーで可用性」「マルチテナントは1インスタンスで多DB集約」というキーワードをセットで覚えておけば、架构設計の基礎はバッチリだ。
次回も基礎がしっかり身につく4択問題をお届けするので、お楽しみに!
PR