コンピュータシステム(4)
システム構成要素
システムの構成
システム:コンピュータを利用して業務活動を行うときのしくみ
システムの処理形態
バッチ処理
一定時間蓄積したデータを一括処理する形態。データが溜まるまでの期間や、自動でバッチ処理が稼働するまでの期間など、時間的な余裕が生まれるのが特徴。給与計算などの事務処理に利用
トランザクション処理
データベースを使用するシステムで関連する処理をひとつにまとめて処理する形態のこと。金融機関のコンピュータシステムにおける入出金処理のように、一連の作業を全体として一つの処理として管理するために用いる
リアルタイム処理
データの発生に合わせて即座に処理する形態。ATMや列車の座席予約などのオンラインシステムに活用。処理結果が即座に要求される場合に利用
オンラインシステム
コンピュータ同士を通信回線などで接続して処理するシステム構成のこと
シアルタイム処理の障害時の影響による分類
ハードリアルタイムシステム
システムの障害が発生したときに致命的なダメージを受け、復旧が不可能になるもの
(例:エアバック制御システム)
ソフトリアルタイムシステム
システムに障害が発生したときに、システムに遅延が発生するなどといった程度の影響で、システム自体に致命的なダメージがなく、復旧が可能なもの
(例:ATM、座席予約システム)
対話型処理
コンピュータが要求する操作をユーザが返答するかのように、ディスプレイを通して処理を行う利用形態
(例:コンサートチケット申し込み)
集中処理と分散処理
集中処理
1台のコンピュータ(ホストコンピュータ)ですべての処理を行う
形態のこと
(例:オンラインシステム)
・1台で管理するため、設備や人員を集中できる ・運用管理やセキュリティ管理、保守が行いやすい ・処理をしているコンピュータが故障するとシステム全体が停止する |
分散処理
ネットワーク上の複数のコンピュータを使い、処理を分散して行う形態
(例:クライアントシステム)
・機能の拡張が容易 ・1台のコンピュータが停止してもシステム全体は停止しない ・複数のコンピュータを使用するため、]運用管理、セキュリティ管理、 保守が複雑 ・システムに異常が発生した場合、原因の特定に時間を要するケースも |
水平分散
すべてのコンピュータが対等の立場でネットワークにつながっているシステム(ピアツーピア型)
垂直分散
コンピュータを階層的に結び付けて機能を分散させる処理形態(クライアントサーバシステム)
ピアツーピア
ネットワークを構成するシステム形態。ネットワークに接続されたコンピュータを役割分担せず、お互いに対等な関係で接続させているため、サーバとクライアントの区別がない
システムの構成
デュアルシステム
1つの処理を2台のコンピュータで処理し、処理結果を照合する
障害発生時は切り離して生きている方だけで処理をする

デュプレックスシステム(待機冗長化方式)
システムを2台用意し、一方を主系(現用系)、もう一方を従系(待機系)として利用し、通常は主系で処理を行う
主系に障害が発生した場合、従系に切り替えて処理を継続する

主系と従系の扱いによる分類
コールドスタンバイシステム
主系に障害が発生した場合、待機させていた従系で主系の処理システムを起動し、処理を引き継ぐように設計されたシステム
通常、主系ではリアルタイム処理を行い、従系ではバッチ処理を行うなど、主系と従系で別の処理を行うことにより有効利用できる
ホットスタンバイシステム
主系と従系で別の処理を行わず、従系を常に主系と同じ状態で待機させておくことで、障害が発生した場合、迅速に切り替えを行うことができる
ロードシェアリングシステム
同じ構造をもつシステムを複数用意し、処理を分担することで、負荷を分散するシステム(「ロードシェアシステム」「負荷分散システム」)

その他
バックアップサイト
コンピュータやハードディスクのしょうがによってデータやプログアムが破損した場合に備えて、データまたは死すテクをコピーしておく場所(システム)のこと。物理的に離れて補助記憶装置にバックアップを行うことがベスト
●ホットサイト | : | 主系と同等のサーバや機能を用意し、常に稼働状態(データ |
のバックアップや更新情報などが同期化してある)にしておくことで、障害発生時に速やかに切り替えられるようにしておく待機系システム | ||
●コールドサイト | : | 障害発生時にバックアップのシステムをインストールして |
稼働させるシステム | ||
●ウォームサイト | : | ホットサイトとコールドサイトの中間で常に稼働状態にし |
てあるが、データのバックアップや更新情報などが同期化されていないシステム |
グリッドコンピューティング
複数のコンピュータをネットワーク上で大規模に並列し、一つのコンピュータとして扱うことで、仮想的に高性能なコンピュータを作り出すこと
自然現象や生物構造の解析など高精度な高速演算が求められる分野において複数のコンピュータで並列処理を行うことで、高速に大量の処理が可能となる
ハイパフォーマンスコンピューティング(HPC)
自然現象や生物構造の解析など高精度な高速演算が求められる計算処理のこと。ブリッドコンピューティングと同様だが、スーパーコンピュータを使用する
クライアントサーバシステム
分散処理システムの一種で、サーバがアプリケーションソフトウェアやデータベースなどの資源を集中管理し、クライアントはサーバに対してサービスの提供を要求するという分担を行っている
特徴
特徴 | 説明 |
---|---|
システムにかかる負担の軽減 | クライアントとサーバがそれぞれ役割分担(処理を分散)することでシステムの負荷を軽減できる |
導入コストの軽減 | ハードウェア資源(プリンタやハードディスクなど)を共有して利用することで、導入コストが軽減できる |
作業の効率化 | ソフトウェア資源(ファイルなど)を共有して利用することで、必要なデータを必要な時に取り出して処理を行えるため、作業の効率化が図れる |
システムの拡張が容易 | サーバやクライアントの追加が容易 |
システム管理の複雑化 | サーバやクライアントごとにハードウェアやソフトウェア資源を管理する必要があるため、システムの規模が大きくなるほど複雑。また、問題が発生した場合の原因や責任の切り分けが難しい |
種類
種類 | 説明 |
---|---|
データベースサーバ | データベース管理システム(DBMS)を持ったサーバ |
アプリケーションサーバ | アプリケーションソフトウェアを実行するサーバ |
ファイルサーバ | ファイルを一括管理するサーバ |
プリンタサーバ | プリンタを管理・制御するサーバ |
構成
2層クライアントサーバシステム
従来の一般的なクライアントサーバシステムのこと。各クライアントから直接データベースへアクセスする。また、クライアント側からデータベースサーバのストアドプロシージャを利用できるので、クライアントとサーバ間のデータ転送量を抑えることが可能
ストアドプロシージャ
データベースに関する一連の処理をひとつのプログラムにまとめてデータベース管理システムに保存したもの。クライアント側から呼び出すことで実行可能。クライアント側からSQL文を一文ずつ送信して実行するより処理命令の送信時間を短縮→処理時間の短縮
3層クライアントサーバシステム
「プレゼンテーション層」「ファンクション層(アプリケーション層)」「データベースアクセス層」の3層に分割して構築したシステム。クライアントおよびサーバの処理を複数の階層に分離して配置することで、ある階層へ変更を加える必要が生じた際にも柔軟に対応できるようになっている
階層 | 論理 | 機能 | |
---|---|---|---|
第1層 | プレゼンテーション層 | ユーザインタフェース部分 | クライアント |
第2層 | ファンクション層 | データ加工処理部分 | アプリケーションサーバ |
第3層 | データベースアクセス層 | データベースアクセス部分 | データベースサーバ |
RPC(遠隔手続呼出し)
コンピュータからネットワーク上の他のコンピュータに対して、処理を実行する通信技術のこと
クライアント
ユーザが使うクライアント端末に必要最小限の処理をさせ、ほとんどの処理をサーバ側に集中させたシステムのこと
Webシステム
サーバ上で動作し、Webブラウザを使ってWebサーバと双方向通信を行うシステムのこと
RAID
信頼性やアクセス速度の向上を目的とした障害対策のひとつ。複数のハードディスクをまとめてひとつの装置として扱う技術
RAIDにはいくつかのレベルがあり、実際に利用されるのはRAID 0、RAID 1、RAID 5、RAID 6で、RAIDコントローラやソフトウェアによって使用できるレベルが限定されている場合が多い
アクセス速度向上を目的とするもの

▼RAID 0(ストライピング)
複数台のハードディスクに、データを分散して読み書きし高速化したもの。これをストライピングと呼ぶ
≪長所≫
- ドライブ数が増えれば増えるほどシーケンシャルアクセス速度が上がる
≪短所≫
- 長性が全くない
- ドライブ数が増えれば増えるほど故障率が上がる
- 性能を100%引き出すには、I/O性能の向上に見合った帯域を持ったバスアーキテクチャが必要となる
- ランダムアクセス速度はあまり向上しないか、ドライブ数が増えれば増えるほどシーク待ちの増加によってむしろ低下する。SSDなどシーク時間が圧倒的に短いドライブでは問題ない
- RAID 0の容量は、構成ドライブ中の最小容量×ドライブ数となり、余った部分は利用できない
ディスクの信頼性向上を目的とするもの

▼RAID 1(ミラーリング)
複数台のハードディスクに、同時に同じ内容を書き込む。これをミラーリングと呼ぶ。 RAID 1は最もシンプルなRAIDであり、耐障害性の高いRAIDである。また、RAIDの最大の弱点であるRAIDコントローラの故障にも対応しやすい。RAID 1には最低2ドライブが必要である。一台が故障した際に、もう一方も同時に故障する可能性は低く、システムは稼動し続けることが出来る
≪長所≫
- OSやマザーボードの機能として標準装備されているものにあっては、別段のRAIDハードウェア/ソフトウェアなしでも使用できる
- 故障したハードディスクを交換すればバックグラウンドでディスクデータの復旧が行われるため、システムダウンからの復旧が速い
- 一方のハードディスクが故障しても、もう一方のハードディスクは正常動作しているので、性能が低下しない
- RAIDコントローラの故障に対応する冗長構成が可能
- ドライブ数が増えれば増えるほど耐障害性が上がる
≪短所≫
- 構成ディスク容量に対するデータ記録可能量が常に構成ディスク台数の逆数倍であるため効率が悪い
- RAID 1の容量は、構成するドライブの中でもっとも小さな容量に決定され、余った他のドライブ部分は利用できない
- RAIDの中で唯一ディスクサイズの大容量化、高速化を目的としていない
▼RAID 2
複数のハードディスクにデータを保存し、データのほかに、エラーの検出・訂正を行うためのコード(ハミングコード)を生成して複数のハードディスクに分散して書込む
耐障害性は非常に高いが非実用的
▼RAID 3
複数のハードディスクにデータを保存し、ビット/バイト単位でエラーの検出・訂正を行うためのパリティ情報を専門のハードディスクにも書き込む
故障した場合、パリティ情報からデータを復旧できる
▼RAID 4
RAID3と同様の仕組みだが、データの分割がブロック(セクタ)単位で行われる
▼RAID 5(パリティ付きストライピング)
複数のハードディスクに誤り訂正符号データと共に分散させて記録する。最低3ドライブが必要である。RAID1やRAID1+0に比べて使用効率に優れている。またRAID0のように複数のディスクに分散しているため読み出し性能が優れている。一方で書き込む場合にはパリティを作成しなおすために、ディスクからの読み出しとパリティ演算が必要となる
≪長所≫
- ボトルネックとなる専用のパリティドライブが存在しない
- ドライブの台数が増えるほど高速化を見込める
- RAID 0と異なり、ランダムリードに対しても性能向上を見込める
≪短所≫
- 読み出しは高速であるが書き込みは低速である(特にドライブ台数が少ない場合)
- パリティ演算が必要なため、ソフトウェアRAIDに不向き
- 停電やディスククラッシュにより部分的に書き込みが行われた状態での停止が発生した場合に検出困難な不整合が発生するタイミングがあり、RAID 5書き込みホールと呼ばれる
- 障害発生時の復元作業が遅い
- ドライブ1台故障時にパリティからデータを再生するため、性能が低下する
- 2つ以上のドライブが同時に故障すると回復できない
- ドライブ1台故障時はRAID 0並みの信頼性が低い状態となる。特に構成台数が多い場合、復元作業中にもう1台が故障し、回復不可能となってしまうケースがある(これに対する解がRAID 6)
▼RAID 6
任意の2つのハードディスクに障害が発生してもデータが復元できるRAID。冗長データを2種類作成し2つのディスクに記録することで、2重障害に対応でき、同時に2ドライブが故障しても復元できる。最低4ドライブを必要とする。1つの冗長データはRAID5と同じようにパリティ符号を用いる。もう1つの冗長データは、異なるアドレスのデータからパリティを生成する方式(対角線パリティ)や、異なる係数を乗算してから生成する方式(P+Qパリティ)など、複数の実装形態がある
≪長所≫
- 専用のパリティドライブが存在しない
- ドライブの台数が増えるほど高速化を見込める
- RAID 0と異なり、ランダムリードに対しても性能向上を見込める
- RAID 5よりさらに高い耐障害性がある。ドライブ1台故障時においてもRAID 5並みの信頼性を保っている
≪短所≫
- 初期投資が大きい(ただし、長期的な運用コストはRAID 5と大差ない)
- ドライブの台数が増えるほど高速化を見込める
- 二重にパリティを生成するため、RAID 5よりもさらに書き込み速度が低下する
- RAID 5と同様、ドライブ故障時に性能が低下する
- 3つ以上のドライブが同時に故障すると回復できない
NAS(NetworkAttached Storage)
ハードディスクや通信制御装置、OSなどを一体化し、ネットワークに直接接続して使用するファイルサーバ。RAIDの機能を持つものもある。複数のプロトコルに対応しているので、異なるOSのサーバ間でもファイル共有が可能
SAN(Storage Area Network)
外部記憶装置(ストレージ)とコンピュータを結ぶ高速な専用ネットワークのこと。企業や学術分野などで、大量のデータを読み書きする高性能ファイルサーバに利用される。一般的にSANでの外部記憶装置はRAID構成で使用される
信頼性設計
信頼性を向上させるためのシステム構成や信頼性設計として、以下のような種類がある
考え方 | 説明 |
---|---|
フォールトトレラント | システムの多重化などにより、障害が発生した場合にも本来の機能を賄い、すべて維持できるようにすること |
フォールソフト | ハードウェアやソフトウェアに障害が発生した場合、機能を低下させてでも、正常な部分を利用して運用を続行しようとする考え方 |
フォールトアボイダンス | 高品質・高信頼性の部品や素子を利用したり、故障の生じにくい設計や構造を採用したりすることで、システム全体での障害を回避しようとする考え方 |
フェールセーフ | ハードウェアソフトウェアに障害が発生した場合、システムを安全第一の状態にしようとする考え方(例:信号機トラブル→すべて赤にする) |
フールプルーフ | 仕様から外れた使い方をしても、障害が発生しないようなシステムを構築しようとする考え方 |
システムの評価指標
システムの評価指標は、コンピュータの性能、信頼性、経済性を総合的にみる
システムの性能
システムの性能指標
システムの性能を計るために、「性能テスト」が行われる。性能テストには「レスポンスタイム」「ターンアラウンドタイム」「ベンチマーク」「モニタリング」などの諸評が用いられる
レスポンスタイム
コンピュータに処理を行わせて、最初の反応が返ってくるまでの時間。「応答時間」 オンラインシステムの性能を評価するときに使用。CPUの性能や接続しているユーザ数によって変化する
ターンアラウンドタイム
コンピュータに一連の処理を行わせて、すべての処理が完了し、結果を返してくるまでに時間。バッチ処理の性能を評価するときに使用

ターンアラウンドタイムの計算式 CPU時間+入出力時間+処理待ち時間 |
ベンチマーク
システム性能を測定するためのプログラムなどを用いて、CPU稼働率やメインメモリの速度、ハードディスクの読み書き速度、レスポンスタイムなどを含む総合的なテストを行う
名称 | 説明 |
---|---|
TPCベンチマーク | トランザクション処理に関する性能指標の標準化を進める非営利団体(TPC)で策定されたベンチマーク。TPC-A、TPC-C、TPC-E、TPC-Hなどがある |
SPEC(スペック) ベンチマーク | CPUやWebサーバなどに関する性能指標の標準化を進める非営利団体(SPEC)で策定したベンチマーク。CPUや整数演算処理の性能を評価する「SPECint(スペックイント)」やCPUの実数演算処理の性能を評価する「SPECfp(スペックエフピー)」などがある |
モニタリング
実際のシステムに性能を測定するための機器やプログラムを組み込み、どのように動作するかを計測すること
名称 | 説明 |
---|---|
ハードウェアモニタリング | 測定用の機器(ハードウェア)を組み込む方式 |
ソフトウェアモニタリング | 想定用のプログラム(ソフトウェア)を組み込む方式 |
キャパシティプランニング
予算や費用対策効果を考慮しつつ、必要な性能要件を満たすようなシステムを開発できるように管理するプロセスのこと
目的
・システムに求められる処理能力を備えた機種を、容量や台数などを考慮した うえで選定する ・将来起こる可能性のあるソフトウェアの更新や業務の変化などに対応し、 サービス品質を継続的に維持できる拡張性を備える |
手順
システムの信頼性
システムの信頼性は、システムを運用中、機能が停止することなく稼動し続けることで高くなる。評価する項目として「RASIS(レイシス)」がある
Reliability   信頼性:故障しにくい Availability 可用性:稼働率が高い Serviceability 保守性:障害時に復旧しやすい Integrity 完全性:データに矛盾が発生しない Security   安全性:気密性が高い |
システムの稼働率
信頼性という観点からシステムを評価するために求められる指標が「稼働率」。稼働率は「平均故障間隔(MTBF:Mean Time Between Failures)」、「平均修理時間(MTTR:Mean Time to Repair)」などによって判断される
平均故障間隔 | MTBF | 故障から故障までに間。システムが連続して稼動している時間の平均 |
---|---|---|
平均修理時間 | MTTR | 故障したときに、システムの復旧にかかる時間の平均 |

複合システムの稼働率
複数のコンピュータや機器で構成されるシステムの場合「直列システム」「並列システム」によって稼働率の求め方が違う
直列システムの稼動率
「直列システム」とは、システムを構成している装置がすべて稼動しているときだけ、稼働するシステムのこと。装置が1つでも故障した場合、システムは稼働しない
並列システムの稼働率
「並列システム」とは、どれかひとつの装置が稼働していれば、稼働するシステムのこと。システムを構成している装置がすべて故障した場合のみ、装置システムは稼働しない

システムの経済性
TCO(Total Cost of Ownership)
システムの購入から破棄するまでに必要となる費用を統合したもの
●コンピュータのハードウェア、ソフトウェアの購入費用
●利用者に対する教育費用
●運用費用
●システムの保守費用
●システムのトラブルの影響による損失費用 ・・・等
初期コスト(イニシャルコスト)
システムを購入する際に必要となる費用のこと
ハードウェア・ソフトウェアの購入費用、開発人件費用(嘱託費用)、利用者に対する教育費用、保守費用など
運用コスト(ランニングコスト)
システムを運用する際に必要となる費用のこと
設備維持費用(リース代、レンタル代、アップグレード費用、システム管理者の人件費など)、運用停止による業務上の損失など
直接コスト
ハードウェア・ソフトウェアの購入費用や委託費用など直接外部に払うコスト
間接コスト
導入・運用作業を行っている自社社員の人件費として支払うコスト
 

