基本情報技術者試験や応用情報技術者試験の勉強をしていると、よく登場するのが 「デュアルシステム(Dual System)」 と 「デュプレックスシステム(Duplex System)」 という2つの冗長化システム構成です。
どちらも「2台(2系統)のコンピューターを使って信頼性を高める仕組み」ですが、名前が非常によく似ているため、
- 「どっちが2台同時に同じ処理をするシステムだっけ?」
- 「主系(現用系)と従系(待機系)に分かれているのはどっち?」
- 「ホットスタンバイやコールドスタンバイはどちらのシステムに関係するの?」
- 「試験本番で絶対にど忘れしない覚え方を知りたい!」
といった疑問や混乱を抱える方が非常に多くいます。
本記事では、デュアルシステムとデュプレックスシステムの根本的な違いを、わかりやすい図解と比較表、身近な日常の例え、そして試験に直結する「絶対に間違えない覚え方」を交えて徹底的に解説します。
この記事のポイント
- デュアルシステム(Dual):2系統のコンピューターが 「同時にまったく同じ処理」 を行い、結果を 「相互照合(クロスチェック)」 するシステム。片系に障害が発生しても 正常な系統で縮退運転を行い処理を継続 できる。負荷分散(ロードバランシング)構成ではないため、2台分の処理能力がそのまま2倍の性能向上になるわけではない。
- デュプレックスシステム(Duplex):主系(現用系)と従系に役割を分け、 主系が通常の処理を行い、主系の障害時に従系へ切り替えて処理を継続する(フェイルオーバー) 構成が代表的。従系を待機中にバッチ処理など別の用途へ利用する構成もあります。
- 待機系の3つのスタンバイ方式:
- ホットスタンバイ:待機系をあらかじめ十分に準備しておき、障害時に短時間で切り替えられる方式
- ウォームスタンバイ:待機系をある程度準備しておき、必要な起動・復旧作業を行ってから切り替える方式
- コールドスタンバイ:待機系を停止状態などで保持し、障害時に起動・復旧して切り替える方式 ※切り替え時間はシステム構成や実装、データ同期方式、復旧手順などによって大きく異なります。
- 一発で覚える方法:
- デュアル(Dual) = 「デュエル(決闘:2者が対になって戦う)」「デュアルディスプレイ」 ➔ 2台が同時に動いて結果を合わせる!
- デュプレックス(Duplex) = 「デュプレックスハウス(2戸住宅)」 ➔ 主系と従系で役割分担!
デュアルシステムとデュプレックスシステムの根本的な違い【一目でわかる比較表】
デュアルシステムとデュプレックスシステムの最大の違いは、「2台のコンピューターが同時に同じ処理を行っているか」、それとも 「本番用と控え用に役割を分担しているか」 という点です。
【デュアルシステムの構成:2台で同時に同じ処理】 [ クライアント(利用者)] │ ┌───────┴───────┐ (同じ処理を同時に依頼) ▼ ▼ [ 処理系 A ] [ 処理系 B ] │ │ └───────┬───────┘ ▼ 【 相互照合(クロスチェック)】 ──▶ 結果を照合して正常性を確認 ※片方に障害が起きても、正常な系統だけで縮退運転を行い処理を継続可能
──────────────────────────────────────────────────────────
【デュプレックスシステムの構成:主系(現用系)と従系(待機系)に分担】 [ クライアント(利用者)] │ ▼ (オンライン業務のリクエスト) ┌─ [ 主系(現用系)] ──▶ 正常時はこちらが本番業務を担当 │ │ │ ▼(障害発生!) │ └─▶ [ 従系(待機系)] ──▶ 主系がダウンしたら切り替えて業務を引き継ぐ (ホット/ウォーム/コールドスタンバイ等の待機方式) ※通常時は待機、または構成によってバッチ処理等として活用デュアルシステムとデュプレックスシステムの詳細比較表
| 比較項目 | デュアルシステム(Dual System) | デュプレックスシステム(Duplex System) |
|---|---|---|
| 動作方式 | 2台が同時に全く同一の処理を実行 | 1台(主系)が通常処理、もう1台(従系)は待機 |
| 結果の照合 | あり(2台の計算結果をクロスチェック) | 通常はなし(主系と従系で同一処理を並行実行して照合する構成ではない) |
| 障害発生時の切り替え | 短時間の中断を伴う場合もあるが縮退運転で処理継続(検出・切り離しによる) | 切り替え作業・時間が必要(待機方式や構成に依存) |
| 信頼性・可用性 | 冗長化により高い信頼性を実現しやすい(2系統の結果を照合することで異常を検出しやすい) | 冗長化により高い可用性を実現しやすい(ただし主系障害直前のデータ同期状態に依存) |
| リソース効率 | 低い(負荷分散構成ではないため2台分の処理能力がそのまま性能向上にはならない) | 中〜高い(従系を別処理や開発に活用可能な場合がある) |
| 導入・運用コスト | 高い傾向(同期機構や高精度な照合が必要) | 構成によって異なる(待機方式やリソース活用次第で調整可能) |
| 関連するスタンバイ方式 | 基本的に該当しない(2系統を並行して稼働) | ホット / ウォーム / コールドなど、待機系の準備状態に応じた方式を採用可能※ |
| 試験でイメージされる代表例 | 高い信頼性が求められる重要システム(金融・交通・管制など※試験での典型例) | 一般的な業務システムなど(主系と従系で役割を分担する構成) |
| 英語のニュアンス | Dual(2つ・2重を表す語) | Duplex(2重・2倍、2戸住宅などの意味を持つ語) |
※ホット/ウォーム/コールドスタンバイは待機系の準備状態を表す分類であり、デュプレックスシステム専用の用語ではありません。また、切り替え時間はシステム構成やデータ量、復旧手順によって異なります。
デュアルシステム(Dual System)の仕組みと特徴
デュアルシステムは、2系統のコンピューターで同じ処理を同時に実行し、その処理結果を相互照合(クロスチェック)しながら処理を進める仕組みです。
【デュアルシステムの処理フロー】 入力データ ──┬──▶ [ サーバー 1 ] ──▶ 結果① ┐ │ ├──▶【 照合装置 】──▶ 結果を照合・出力 └──▶ [ サーバー 2 ] ──▶ 結果② ┘
万が一、結果① ≠ 結果② の場合: ➔ 不一致を検出し、診断機構などによって障害系を特定・切り離し(縮退運転) ➔ 正常な系統で処理を継続!デュアルシステムの主なメリット
- 片系障害時にも処理を継続しやすい(縮退運転)
片方の系統に故障やフリーズが発生しても、短時間の中断を伴う場合もありますが、縮退運転(1台での運転)に移行して処理を継続できます。 - 計算・処理結果の不一致を検出できる(高い信頼性)
ハードウェアのメモリビット反転や予期せぬ演算エラーが発生した場合でも、2台の結果を相互照合(クロスチェック)しているため、**「結果の不一致を検出し、障害系を切り離して正常な系統で処理を継続する」**ことができます。 - フォールトトレラント性を高めるための代表的な冗長構成の一つ
障害が発生しても、システム全体として処理を継続できるようにするフォールトトレラント性を高めるための代表的な冗長構成の一つです。
デュアルシステムのデメリット・課題
- リソース効率・コストパフォーマンスの課題
2台を別々の処理に割り当てる負荷分散構成ではないため、「2台あるからといって処理能力が2倍になる」わけではありません。また、ハードウェアやライセンス、維持費が2系統分必要となります。 - 照合機構(コンパレータ)の設計・同期が複雑
2系統の処理タイミングを同期させ、結果をリアルタイムで照合・判定するハードウェア・ソフトウェアの仕組みが必要となり、設計難易度が高くなります。
どんな場所で使われる?(試験等での典型例)
試験教材等では、デュアルシステムの用途として、金融・交通・航空管制など、高い信頼性が求められる重要システムが代表例として挙げられることがあります。
- 金融機関の勘定系システム
- 鉄道の座席予約・運行管理システム
- 航空管制システム
- 宇宙開発・重要インフラ制御システム
[!NOTE] 実務における冗長化構成の補足
試験教材では上記のようなミッションクリティカルなシステムが「デュアルシステム」の例として挙げられますが、実際の現代システムがすべてデュアルシステムで構築されているわけではありません。実務では要件やコストに応じてクラスタ構成、Active-Standby、Active-Active、レプリケーション、あるいは極めて高い安全性が求められる制御系では 3重化や4重化(TMR: トリプルモジュラー冗長化など、多数決による判定方式) など、多様な冗長化技術が組み合わされて採用されます。
デュプレックスシステム(Duplex System)の仕組みと待機系のスタンバイ方式
デュプレックスシステムは、システムを「主系(現用系)」と「従系」の2系統に役割を分け、通常時は主系で処理を行い、主系に障害が発生した際に従系へ処理を切り替える(フェイルオーバーする)仕組みが代表的です。従系を待機中にバッチ処理など別の用途へ利用する構成もあります。
デュプレックスシステムなどの待機系構成では、待機系の準備状態に応じてホット/ウォーム/コールドなどの方式が使われます(※ホット/ウォーム/コールドスタンバイは待機系の準備状態を表す一般的な分類であり、デュプレックスシステムだけに限定される用語ではありません)。
【待機系の代表的な3つのスタンバイ方式の違い】
① ホットスタンバイ(Hot Standby) [ 主系:オンライン稼働中 ] ◀──(データ同期・複製)──▶ [ 従系:十分に準備された状態 ] ➔ 主系ダウン時:短時間で迅速に切り替え!
② ウォームスタンバイ(Warm Standby) [ 主系:オンライン稼働中 ] [ 従系:環境を一部準備(別業務を行う場合もある)] ➔ 主系ダウン時:別処理中断・復旧作業後に切り替え
③ コールドスタンバイ(Cold Standby) [ 主系:オンライン稼働中 ] [ 従系:停止状態などで保持 ] ➔ 主系ダウン時:電源投入・起動・復旧作業後に切り替え3大スタンバイ方式(ホット/ウォーム/コールド)の徹底比較表
| 方式名 | 待機系の準備状態 | 通常時の待機系の用途 | 障害時の切り替えと復旧 | コスト |
|---|---|---|---|---|
| ホットスタンバイ (Hot Standby) | 十分に準備 必要なデータや状態を構成に応じて同期・複製 | すぐ切り替えられるよう待機 | 短時間で切り替え可能 (構成によっては自動的に切り替える) | 高 |
| ウォームスタンバイ (Warm Standby) | 環境の一部を準備 本番アプリ等は未起動または停止可能 | 起動待機、またはバッチ処理・開発環境等として利用 | 準備・起動作業後に切り替え (作業時間が必要) | 中 |
| コールドスタンバイ (Cold Standby) | 停止状態などで保持 (電源OFFや非本番用途) | 予備機として保持、または別用途 | 起動・復旧作業後に切り替え (起動・データ復元等の手順が必要) | 低(安価) |
※切り替え時間や復旧手順は、システム構成、データ同期方式、運用設計によって大きく異なります。
1. ホットスタンバイ(Hot Standby)
- 特徴:障害発生時に短時間でサービスを引き継げるよう、待機系をあらかじめ十分に準備しておき、必要なデータや状態を構成に応じた方法で同期・複製しておきます。
- 切り替え:主系の障害を検知すると、クラスタ管理ソフトやロードバランサーなど構成に応じた仕組みによって従系へ迅速に切り替えます。
- メリット:切り替えに伴うサービスの中断時間を最小限に抑えられます。
2. ウォームスタンバイ(Warm Standby)
- 特徴:待機系のOSOS [オーエス]Operating System。基本ソフトウェアなど必要な環境の一部をあらかじめ準備しておき、本番アプリケーション等は待機状態にしておく方式です。構成によっては、待機中のリソースを別の処理(夜間バッチ処理や開発・検証環境など)に利用する場合もあります。ただし、別処理への利用はウォームスタンバイそのものの必須条件ではありません。
- 切り替え:主系障害時は、本番アプリケーションを立ち上げたり、実行中の別処理を中断して必要に応じたデータ同期やアプリケーションの起動などの復旧作業を行ってから切り替えます。
- メリット:待機系のリソースを有効活用でき、コストと切り替え時間のバランスを取りやすくなります。
3. コールドスタンバイ(Cold Standby)
- 特徴:待機系を停止状態(電源OFFなど)で保持しておく方式です。
- 切り替え:主系に障害が発生した際に、待機系の電源を入れ、OSの起動、必要なデータの復元・同期、アプリケーションの起動など、構成に応じた復旧手順を行って切り替えます。
- メリット:常時稼働させる運用コスト(電気代やライセンス費用など)を最小限に抑えられます。
【試験対策】試験で迷わない!デュアルとデュプレックスの覚え方
試験問題や実務で「どっちが同時照合で、どっちが待機系だっけ?」と迷ったときは、以下の3つの連想テクニックを使うと一瞬で思い出せます(※【ア】の文字を使った連想などは、試験対策用の暗記語呂合わせです)。
┌─────────────────────────────────────────────────────────────┐│ 【デュアル(Dual)の覚え方】 ││ ★ 連想:デュエル(Duel:決闘:2者が対になって戦う) ││ ➔ 「対になって同時に動く」=「2台同時に同じ処理!」 ││ ➔ 「デュアル(Dual)の【ア】」=「【あ】わせる(結果照合)」│└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐│ 【デュプレックス(Duplex)の覚え方】 ││ ★ 連想:デュプレックスハウス(2戸住宅) ││ ➔ 「2つの住居に分かれている」=主系と従系に役割分担! ││ ➔ 「Duplex(2重・2戸)」➔ 控え(従系)への切り替え! │└─────────────────────────────────────────────────────────────┘覚え方①:日常の例えでイメージする
デュアルシステムのイメージ = 「2人の計算担当者が同じ計算を行い、答えを照合する」
イメージとしては、2人の計算担当者がまったく同じ計算を同時に行い、出た答えを互いに突き合わせて確認(クロスチェック)するような仕組みです。 答えが一致していれば正しい結果として進め、万が一不一致が検知されれば、診断機構などによって障害系の切り離しなどを行い、正常な系統で処理を継続します。これが デュアルシステム(同時処理・相互照合) の基本的な考え方です。
デュプレックスシステム = 「グラウンドのスタメン選手とベンチの控え選手」
サッカーや野球の試合では、スタメン選手(主系)がピッチに出て全力でプレーし、控え選手(従系)はベンチでウォーミングアップしながら待機しています。 スタメン選手が怪我をしたら交代(フェイルオーバー)します。これが デュプレックスシステム(主系・待機系) です。
- ホットスタンバイ:ユニフォームを着てスパイクを履き、いつでもピッチに飛び出せる控え選手
- ウォームスタンバイ:ジャージを着て軽いストレッチや別練習をしている控え選手
- コールドスタンバイ:まだ私服でロッカールームにいる控え選手
覚え方②:言葉の語源と身近な製品から連想する
-
Dual(デュアル)
- 「デュアルディスプレイ(2画面を同時に使って作業する)」
- 「デュエル(Duel:決闘、2者が対になって戦う)」
- ➔ 「Dual=2つ(2重・対)」 というイメージから、「2台が対になって同時に動く」と連想できます。
-
Duplex(デュプレックス)
- 「デュプレックスハウス(Duplex House:1つの建物の中に2戸の独立した住居がある住宅)」
- ➔ 「2つの系統が主系(現用系)と従系(待機系)に分かれている」と連想する暗記フックとして活用できます。
覚え方③:試験直前のまとめフレーズ
「デュアルは【2系統で同時に動いて結果を照合】」
「デュプレックスは【主系と従系に分かれて控えへ切り替え】」
※これらは試験直前に迷わないための暗記用整理フレーズです。このイメージを持っておくと、試験本番でデュアルシステムとデュプレックスシステムを瞬時に区別できます。
基本情報・応用情報技術者試験の出題ポイントと過去問対策
情報処理技術者試験(ITパスポート・基本情報・応用情報・高度試験)において、信頼性設計の分野は頻出テーマです。
試験問題で役立つ「キーワード対照表」
問題文に以下のようなキーワードが出てきたら、デュアル/デュプレックスを判断する重要な手掛かりになります。
| 問題文に含まれるキーワード | 正解となるシステム |
|---|---|
| 「同一の処理を並行して行い、結果を照合する」 | デュアルシステム |
| 「処理結果のクロスチェック」「不一致時に切り離し」 | デュアルシステム |
| 「主系でオンライン処理、従系を待機または別処理に利用」 | デュプレックスシステム |
| 「現用系と待機系」「ホットスタンバイ」「コールドスタンバイ」 | デュプレックスシステム |
| 「主系障害時に待機系へ業務を切り替える」 | デュプレックスシステム |
クラウド時代(AWS / Azure / GCP)における冗長化との関係
現代のクラウドインフラやマイクロサービス設計では、「デュアル」や「デュプレックス」という伝統的な用語そのものはあまり使われなくなりましたが、その設計思想は現代のクラウドアーキテクチャに受け継がれています。
【伝統的な概念と現代のクラウド設計パターンの関係】
伝統的概念 現代的な関連設計パターン ──────────────────────────────────────────────────────────── デュアルシステム ➔ 同一処理の二重実行・照合(一般的なActive-Activeとは目的が異なる) デュプレックスシステム ➔ Active-Standby (Active-Passive) に近い考え方 ホットスタンバイ ➔ Multi-AZなどの自動フェイルオーバー構成に近い考え方 ウォーム/コールドスタンバイ➔ パイロットライト / バックアップ&リストア (DR設計)- Active-Active(アクティブ・アクティブ)構成 複数の系が同時に稼働し、処理を分担する構成です(ロードバランサー等で負荷分散を行う構成も多く見られます)。デュアルシステムのように「同一処理を並行して実行し、結果を照合する」のとは異なり、「処理能力をスケールアウトさせつつ冗長化する」ことを目的としています。
- Active-Standby(アクティブ・スタンバイ)構成 主系(Active)が通常業務を行い、従系(Standby)が待機する、デュプレックスシステムに近い考え方の設計パターンです。 例えば、Amazon RDSのMulti-AZ構成でも、プライマリ(主系)に障害が発生した際にスタンバイ(従系)へ自動的にフェイルオーバーする仕組みが利用されています。
まとめ:デュアルとデュプレックスの重要ポイント総おさらい
最後に、デュアルシステムとデュプレックスシステムの違いを要点に絞っておさらいしましょう。
┌─────────────────────────────────────────────────────────────┐│ ★ デュアルシステム(Dual System) ││ ・2台で同時に同じ処理を実行し、結果を照合(クロスチェック)││ ・片系障害時も縮退運転で処理継続(極めて高い信頼性) ││ ・2台分のリソースが必要(負荷分散による性能向上ではない) ││ ・金融勘定系や社会インフラなど高信頼が求められる分野向け ││ ││ ★ デュプレックスシステム(Duplex System) ││ ・主系(現用系)と従系(待機系)に役割分担 ││ ・障害時は主系から従系へフェイルオーバー(切り替え) ││ ・待機系はホット / ウォーム / コールドなどの方式で運用 ││ ・待機系を別業務に活用できる構成ではリソース効率を高められる│└─────────────────────────────────────────────────────────────┘- 「2台同時に戦って(Duel)照合するのがデュアル」
- 「主系と控えの二世帯(Duplex)でスタンバイするのがデュプレックス」
このイメージを頭に入れておけば、基本情報・応用情報技術者試験でデュアルシステムとデュプレックスシステムを区別する際に大きく役立ちます!
以上で本記事の解説を終わります。
よいITライフを!
人気記事
- 1
- 2
- 3
- 4
- 5
思考の整理というテーマを、実務ですぐに使える具体的な「技術」として落とし込んだ一冊です。