システム構成の基礎まとめ【処理方式・高信頼化・RAIDまで解説】

システム構成のブログのアイキャッチ画像 システム構成要素
広告

 このページでは,基本情報技術者試験をはじめとする情報処理技術者試験で必須となる,システム構成についてシンプルにまとめています。処理方式・高信頼化・代表的な構成例を中心に図や用語を整理しています。バッチ処理とリアルタイム処理,集中処理と分散処理の違いから,フォールトトレランス,RAID,クラスタリングまで,試験対策として押さえておきたいポイントを一通り確認できると思います。

  1. システムの処理方式
    1. 処理を行うタイミングによる分類
      1. バッチ処理(一括処理)とは
      2. リアルタイム処理とは
        1. オンライントランザクション処理とは
        2. リアルタイム制御処理とは
    2. 処理を行う場所による分類
      1. 集中処理とは
      2. 分散処理とは
  2. システムの高信頼化
    1. フォールトアボイダンスとは
    2. フォールトトレランスとは
      1. フェイルセーフとは
      2. フェイルソフトとは
        1. フェイルオーバーとは
        2. フォールバック(縮退運転)とは
      3. フールプルーフとは
  3. システム構成の基本
    1. シンプレックスシステムとは
    2. デュアルシステムとは
    3. デュプレックスシステムとは
  4. さまざまなシステム
    1. クライアントサーバーシステムとは
      1. サーバーの種類
      2. 3層クライアントサーバーシステムとは
        1. 2層クライアントサーバーシステムとは
      3. ストアドプロシージャとは
      4. シンクライアントとは
    2. RAID(Redundant Array of Independent (Inexpensive) Disk)とは
      1. RAIDの技術
        1. ストライピングとは
        2. ミラーリングとは
        3. パリティチェックとは
      2. RAIDの種類
        1. RAID0とは
        2. RAID1とは
        3. RAID2とは
        4. RAID3,RAID4とは
        5. RAID5とは
        6. RAID6とは
    3. ネットワークストレージとは
      1. DAS ( Direct Attached Storage )とは
      2. NAS(Network Attached Storage)とは
      3. SAN(Storage Area Network)とは
    4. マルチプロセッサシステムとは
    5. クラスタリングシステムとは
      1. HPCクラスタ(High Performance Computing cluster)とは
      2. HAクラスタ(High Availability cluster)とは
        1. 負荷分散クラスタとは
  5. まとめ
広告

システムの処理方式

処理を行うタイミングによる分類

バッチ処理(一括処理)とは

 バッチ処理とは,一定期間に発生したデータを蓄積しておき,あとで,まとめて(一括で)処理する方式のことをいいます。給与計算など,大量のデータを一定期間ごとに処理する業務に適しています。

※ 金融機関などでは,夜間にバッチ処理を行うことが多いです。

リアルタイム処理とは

オンライントランザクション処理とは

 オンライントランザクション処理とは,利用者などが端末から入力したデータを即座に処理する方式のことをいいます。大量のデータを遅延なく処理する必要があるため,システムには高い性能が要求されます。また,処理途中で中断できないため,高い信頼性も要求されます。座席予約やチケットの予約,金融機関の入出金,オンラインショッピングなどの業務に適しています。

リアルタイム制御処理とは

 リアルタイム制御処理とは,利用者からの指示や機器などの状態の変化,まわりの環境の変化などに応じて,即座に機器の制御を行う方式のことをいいます。工場のロボットや,家電などに用いられています。

ハードリアルタイムシステムとは

 ハードリアルタイムシステムは,遅延が許されない(遅延が発生した場合,致命的な問題が生じる)システムをいいます。

例)エアバッグ制御システム,ペースメーカーなど

処理を行う場所による分類

集中処理とは

 集中処理とは,1か所(または1台)で処理することをいいます。アプリケーションやデータを中央に配置し,複数の端末で共有します。個々の端末では処理は実行せず,データの入出力などを行います。

長所

  • 管理が容易(資源が中央に集中しているため)なので,効率よく運用できる
  • セキュリティの確保が容易

短所

  • 中央の装置は複雑になりやすい
  • 中央の装置が故障すると,システム全体が停止する恐れがある

分散処理とは

 分散処理とは,複数箇所で(分散して)処理することをいいます。それぞれのコンピューターの性能は平凡でも,多数のコンピューターが連携すると,全体としては高い性能を得ることができます。

長所

  • 拡張時の対応が該当部分だけでよいため容易
  • 単純な構成であるため,保守が容易
  • 障害発生時に,障害箇所を特定しやすい

短所

  • データが分散するため更新に時間がかかり,また,不整合も発生しやすい
  • セキュリティの確保が難しい

広告

システムの高信頼化

 システムの信頼性を高めるためには,障害が発生しないようにしたり,万が一,障害が発生した場合でも影響を最小限に抑えるようにしなければなりません。

フォールトアボイダンスとは

 フォールトアボイダンスとは,信頼性の高い機器を使用したり,定期保守を行ったりして,障害が発生しないようにすることをいいます。

※ アボイダンス(avoidance)は「回避」という意味。

フォールトトレランスとは

 フォールトトレランスとは,(障害が起きることを前提に)障害が発生した場合でも,機能を保ち,稼働を続けるようにすることをいいます。システムの一部に障害が発生した場合に,予備の系統に切り替えるなどします。

フェイルセーフとは

 フェイルセーフとは,障害が発生した場合に,安全な状態になるよう制御することをいいます。

  • 信号機が故障した場合,すべての信号を赤に切り替え,安全性を確保する
  • 電気ヒーターが転倒した場合,自動的にオフにする

フェイルソフトとは

 フェイルソフトとは,障害が発生した場合に,障害箇所を切り離して一部の機能を停止し,残りの部分で稼働を続けることをいいます。

フェイルオーバーとは

 フェイルオーバーとは,待機系の機器を用意(システムを二重化する)しておき,障害が発生した場合に,自動で待機系に切り替えることをいいます。

  • 情報システム機器やネットワークを二重化して信頼性を高める
フォールバック(縮退運転)とは

 フォールバックとは,障害が発生した場合に,障害箇所を切り離し,処理能力を落とした状態で稼働を続けることをいいます。

  • 飛行機のエンジン1つが故障した場合,故障したエンジンを停止し,残りのエンジンで飛行を続ける

フールプルーフとは

 フールプルーフとは,利用者の誤操作を防ぐしくみや,利用者が誤操作をした場合でも,障害が発生したり,危険が生じたりしないような設計をすることをいいます。

  • 電気ポットは,ロックを解除しないと給湯できない
  • 電子レンジは,ドアが完全に閉まらないと起動しない
  • 自動車は、ギアがパーキングに入っていないとエンジンをかけられない

広告

システム構成の基本

シンプレックスシステムとは

 シンプレックスシステムは,必要最小限の機器で構成されたシステムです。経済的でコストを抑えることができますが,障害が発生した場合はシステム全体に影響が及ぶため信頼性は高くありません。

デュアルシステムとは

 デュアルシステムは,同じ構成のシステムを二重化したシステムです。2系統ともに同じ処理を行い,処理結果を定期的に照合することで信頼性を高めています。一方のシステムに障害が発生した場合でも,処理を中断することなく,もう一方のシステムで処理を続けることができます。ただし,コストは高くなります。

デュプレックスシステムとは

 デュプレックスシステムは,主系(現用系)と従系(待機系)の2系統で構成されたシステムです。主系のシステムでは,主に,中断することのできないオンライン処理などを実行し,従系のシステムでは,バッチ処理などを実行するか待機するかしておきます。主系のシステムに障害が発生した場合は,従系のシステムに切り替えることで信頼性を高めることができます。主系と従系で異なる処理を並行して実行することができるので,デュアルシステムよりコストを抑えられます。

 主系から従系への切替方式には,次のようなものがあります。

ホットスタンバイ主系のシステムと従系のシステムを同じ状態で起動しておき,主系のシステムに障害が発生した場合は,自動的に従系のシステムに切り替える
ウォームスタンバイ従系のシステムはOSを起動(業務システムは起動しない)しておき,主系のシステムに障害が発生した場合は,従系のシステムに切り替えて業務システムを起動する
コールドスタンバイ従系のシステムは,他の処理をするか待機しておき,主系のシステムに障害が発生した場合は,(従系のシステムが他の処理を実行していた場合は,その処理を中断し)従系のシステムに切り替えて業務システムを起動する

※ 従系のシステムへの切り替えの速さは,速い方から,ホットスタンバイ,ウォームスタンバイ,コールドスタンバイとなります。

広告

さまざまなシステム

クライアントサーバーシステムとは

 クライアントサーバーシステムは,代表的な分散処理形態のシステムであり,サービスを要求するクライアントと,サービスを提供するサーバーで構成されます。

※ サーバーは,ハードウェアとしてではなく,サービスを提供するプログラムとして割り当てられます。1台のコンピューターに複数のサーバーが存在したり,1台のコンピューターにクライアントとサーバーが存在することもあります。

サーバーの種類

 サーバーは,サービスを提供するプログラムとして割り当てられるので,1台のコンピューターで複数のサーバーを稼働させることができます。

WebサーバークライアントのWebブラウザから入力されたリクエストに応じて,HTMLやCSSなどを返すサーバー
メールサーバー電子メールを配信するサーバー
ファイルサーバーファイルやプログラムの共有や公開をするサーバー
プリントサーバー複数のクライアントでプリンターを共有する際に使用するサーバー
データベースサーバーデータベースの管理や,アクセス制御をするサーバー
コミュニケーションサーバー他との通信機能を提供するサーバー

3層クライアントサーバーシステムとは

 3層クライアントサーバーシステムは,データベースを利用するシステムにおいて,次の3つの機能を,それぞれの層で表し構成したものです。

3データベース層データベースを管理する機能
2ファンクション層
(アプリケーション層)
データの加工や,処理をする機能
1プレゼンテーション層ユーザーインタフェース(GUIなど)を提供する機能

 3層クライアントサーバーシステムの場合,処理は,すべてサーバー側(アプリケーションサーバーとデータベースサーバー)で行います。クライアントにはサーバーから送られてきたHTMLなどから,その内容がWebブラウザに表示されますので入出力処理などを行います。このようにすることで,クライアントとサーバーの間のデータ転送量を抑えることができます。また,プログラムを修正する場合でも,サーバー側の対応だけで済みますので保守も容易になります。

2層クライアントサーバーシステムとは

 2層クライアントサーバーシステムの場合は,各クライアントに専用アプリケーションを導入する必要があります。そのため,専用アプリケーションを修正する場合は,すべてのクライアントで作業しなければなりません。また,データベースへアクセスする際も,データがそのまま送られるため,ネットワーク上のデータ量も増大します。

※ 上記の理由から,現在は,3層クライアントサーバーシステムが一般的となっています。

ストアドプロシージャとは

 ストアドプロシージャとは,利用頻度の高い処理や,連続する複数の処理をひとつにまとめたプログラムのことをいいます。ストアドプロシージャは,データベース管理システム(DBMS)に保存され,外部から利用する場合は,プロシージャ名を指定し実行します。

利点

  • データベースサーバーに対して,SQL文を発行する必要がない
  • 事前にSQL文の構文解析などが済んだ状態で準備されているため高速に実行できる
  • ネットワークの負荷などを減らすことができる

シンクライアントとは

 シンクライアントとは,ユーザーが操作するクライアントに必要最低限の機能だけを持たせたものをいいます。外部記憶装置を持たないので,情報漏洩やウイルス感染のリスクを低減できます。

RAID(Redundant Array of Independent (Inexpensive) Disk)とは

 RAIDは,複数の磁気ディスク装置を,1台の仮想的な装置として利用できるようにする技術です。システムの信頼性を高めたり,高速化することができます。

RAIDの技術

ストライピングとは

 ストライピングとは,データをビット単位やバイト単位,ブロック単位に分割したものを,複数の磁気ディスク装置に振り分けて管理する方式のことをいいます。複数の磁気ディスク装置に同時にアクセスしますので,高速に読み書きすることができます。

ミラーリングとは

 ミラーリングとは,同じデータを複数の磁気ディスク装置に書き込むことをいいます。

パリティチェックとは

 パリティチェックとは,データにエラーがあるのかをチェックすることをいいます。

 RAIDの場合は,パリティデータ(冗長コード)を障害発生時に使用します。たとえば,RAID5の場合,1台の磁気ディスク装置が故障した場合でも,残りの磁気ディスク装置とパリティデータを使用して復元することができます。

※ パリティチェックの詳細は,「通信に関する理論-誤り制御-パリティチェック方式 -情報処理シンプルまとめ」を参照

RAIDの種類

RAID0とは

 RAID0の場合,ストライピングにより,高速化・大容量化できます。しかし,信頼性は低いです。

RAID1とは

 RAID1の場合,ミラーリングにより,複数の磁気ディスク装置に同じデータを保存します。そのため,障害に強いです。しかし,使用効率は低いです。

RAID2とは

 RAID2は,コストが高いので,ほとんど使われていません。

※ ストライピングとECCの技術が利用されています。

RAID3,RAID4とは

 RAID3,RAID4は,ストライピングとパリティチェックにより,高速化・大容量化ができ,障害にも強いです。パリティ専用の磁気ディスク装置を使用し(図の場合,ディスク3),1台の磁気ディスク装置が故障した場合でも,残りの磁気ディスク装置とパリティデータを使用して復元することができます。RAID3は,データをビット単位,または,バイト単位で,RAID4は,データをブロック単位で扱います。

RAID5とは

 RAID5も,ストライピングとパリティチェックにより,高速化・大容量化ができ,障害にも強いです。RAID5では,データとパリティデータを分散配置します。また,データはブロック単位で扱います。

RAID6とは

 RAID6の場合は,パリティデータを2つ作成し,分散配置します。磁気ディスク装置2台が故障した場合でも復元できますので,RAID5よりも障害に強いです。また,データはブロック単位で扱います。

広告

ネットワークストレージとは

 ネットワークストレージとは,ストレージ(補助記憶装置)をネットワークに接続したものをいいます。

DAS ( Direct Attached Storage )とは

 DASとは,ストレージをSATAやATA,SCSIなどの接続方式でサーバーに接続したものをいいます。

NAS(Network Attached Storage)とは

 NASとは,OSやストレージ,ネットワーク接続装置などで構成されるファイルサーバー専用の装置をネットワークに接続したものをいいます。利用者は,ファイル共有プロトコル(NFSやCIFSなど)を使用し,ファイルを共有したりします。

SAN(Storage Area Network)とは

 SANとは,ストレージとサーバーをファイバーチャネルにより接続したものをいいます。

※ ファイバーチャネルとは,ストレージなどとサーバーを光ファイバーで接続する方式のことをいいます。高速伝送を可能にします。

マルチプロセッサシステムとは

 マルチプロセッサシステムは,複数のプロセッサ(CPU)で処理を分担し並列に処理するシステムです。次の2つに分類できます。

  • 密結合マルチプロセッサシステム
  • 疎結合マルチプロセッサシステム

※ マルチプロセッサの詳細は,「プロセッサ -情報処理シンプルまとめ」を参照してください。

クラスタリングシステムとは

 クラスタリングシステムは,複数のコンピューターを組み合わせて,1台のコンピューターのように動作させるシステムです。

HPCクラスタ(High Performance Computing cluster)とは

 HPCクラスタは,多数のコンピューターを組み合わせて並列処理を行わせることで,1台の高性能のコンピューターのように動作させる方式です。

※ スーパーコンピューターを構成する方法の一つ

※ 障害が発生した場合は,当該コンピューターを切り離して,残りのコンピューターで稼働を続ける(フェイルソフト)

HAクラスタ(High Availability cluster)とは

 HAクラスタは,複数のコンピューターを用意して,可用性を高める方式です。

※ 障害が発生したコンピューターを,システムを運用したまま交換することができる(ホットスタンバイ)

負荷分散クラスタとは

 負荷分散クラスタは,すべてのコンピューターを同時に稼働させ,処理を分散させる方式です。

※ 障害が発生した場合は,当該コンピューターを切り離して,残りのコンピューターで稼働を続ける(フェイルソフト)

まとめ

 今回は,システム構成について,処理方式・高信頼化・代表的な構成例を中心にシンプルにまとめてみました。これらの内容は,試験で頻出です。一度で理解しきれなくても問題ありません。各用語の意味と違いを意識しながら,繰り返し読み返して整理していきましょう。

 理解が進んだら,過去問題等にもチャレンジしてみてください。