8.システム構成と故障対策
8.1. コンピュータを動かす形態
クライアントサーバシステムは現在の主流の処理形態。 これは基本的には分散処理を行い、ネットワーク上の役割を2つに分け集中して管理や処理を行う部分をサーバとして残すことが特徴。
シンクライアントとピアツーピア
シンクライアント
シンクライアントにおけるクライアント側の端末は入力や表示部分を担当するだけで情報の処理や保管はすべてサーバに任せる。
ピアツーピア(P2P)
ピアツーピアは完全分散処理型のシステムです。これはネットワーク上で協調動作するコンピュータ同士が対等な関係でやり取りをするものでサーバなどの一次元的に管理するものが必要としない。
3層クライアントサーバシステム
クライアントサーバシステムの機能をプレゼンテーション層、ファンクション層、データ層の3つに分けて構成するシステムのことです。これに対し通常のクライアントサーバシステムのことは2層クライアントサーバシステムと呼ばれています。
2階層のクライアントサーバシステムのデメリット
- ビジネスロジックに変更があるとすべてのクライアントに修正が必要となる
- 処理に必要なデータがネットワーク上を流れるので帯域を圧迫する
- データベースをロックする時間が長くなりがち
3階層のクライアントサーバシステムのメリット
・GUI操作を行うだけなのでシンクライアントが使用可能 ・処理結果が返ってくるだけなのでネットワーク上を流れるデータ量の削減可能 ・ビジネスロジックに変更があってもサーバ側だけ修正すればよい ・サーバ側で処理が完成する分データベースをロックする時間も短く済む
オンライントランザクション処理とバッチ処理
普段コンピュータを使って普通に行う操作を対話型処理と呼ばれる。
オンライントランザクション処理
システムの稼働形態として要求に対して即座に処理行い結果が反映されるものはオンライントランザクション処理と呼ばれます。
バッチ処理
リアルタイムにすぐに反映する必要のない処理の場合、一定期間ごとに処理をまとめて実行するものはバッチ処理と呼ばれる。
8.2. システムの性能指標
システムの性能を評価する指標にはスループット、レスポンスタイム、ターンアラウンドタイムがある。
これらを評価する手法にはベンチマークテストがある。これは性能測定用のソフトウェアを使って、システムの各処理性能を数値化するものである。
スループット
スループットは単位時間あたりに処理できる仕事量を表す。
レスポンスタイムとターンアラウンドタイム
レスポンスタイム
レスポンスタイムはコンピュータに処理を依頼し終えてから実際に何か応答が返されるまでの時間を示する。
ターンアラウンドタイム
ターンアラウンドタイムはコンピュータに処理を依頼し始めてその応答がすべて返されるまでに時間を示す。
8.3. システムを止めない手法
デュアルシステム
デュアルシステムは2組のシステムを使って信頼性を高めるものです。
このシステムでは2組のシステムが同じ処理を行いながら、処理結果を互いに突き合わせて誤動作していないかを監視する。
いずれかが故障した場合に異常の発生したシステムを切り離し、残る片方だけでそのままの処理を継続する。
デュプレックスシステム
デュプレックスシステムは2組のシステムを用意するのはデュアルシステムと同じである。
このシステムでは主系が正常に動作している間、従系ではリアルタイム性の求められないバッチ処理などの作業を担当する。また主系が故障した場合には従系が主系の処理を代替するように切り替わる。
ホットスタンバイ
あらかじめ主系の処理を引き継ぐために必要なプログラムを起動しておくことで瞬時に切り替える待機方法である。
コールドスタンバイ
従系は出番が来るまで別の作業をしていたり電源がOFFだったりして、切り替え時に時間がかかる。なおその分コストダウンが可能。
8.4. システムの信頼性と稼働率
稼働率はトラブルに内部時に使えていた期間を割合として示すものである。 この計算に用いる指標には平均故障間隔(MTBF) や平均修理時間(MTTR) などが信頼性などを表す指標として用いられる。
RASIS
RASISはシステムの信頼性を評価する概念。
平均故障間隔(MTBF)と平均修理時間(MTTR)とシステム稼働率
直列システムと並列システムの稼働率
直列システムの稼働率
直列システムの稼働率 = 稼働率A × 稼働率B
並列システムの稼働率
並列システムの稼働率 = 1 - ((1-故障率A) × (1-故障率B))
故障の耐久性
フォールトトレラントは壊れても大丈夫なように対策を図る考え方。
フェールセーフ
故障が発生した際に、安全性を確保する方向で壊れるように仕向ける方法。
故障の場合は安全性が最優先とする考え方。
フェールソフト
故障が発生した場合にシステム全体を停止させるのではなく機能を一部停止するなどして動作の継続を図る方法。
故障の場合は継続性が最優先とする考え方。
フールプルーフ
意図しない使われ方をしても故障しないようにするという考え方。
フォールトアポイダンス
品質管理などを通してシステム構成要素の信頼性を高め、故障そのものの発生を防ぐ考え方。
バスタブ曲線
故障の発生頻度と時間の関係をグラフにしたものはバスタブ曲線と呼ばれる。
システムに必要な経費
システムに必要となるすべてのコストはTCO(Total Cost of Ownership) と呼ばれる。
TCO=初期コスト+運用コスト
8.5. バックアップ
バックアップを行う際には以下のような点に注意する。
- 定期的にバックアップを行う
- バックアップを行う媒体を分ける
- 業務作業中にバックアップをしない
バックアップの方法
バックアップには3種類の方法があり、これらを組み合わせることで効率よくバックアップを行うことができる。
フルバックアップ
保存されているすべてのデータをバックアップするのがフルバックアップである。 障害発生時に直前のバックアップだけで元の状態に戻せる。
差分バックアップ
前回のフルバックアップ以降に作成変更されたファイルだけをバックアップするのが差分バックアップである。 障害発生時に直近のフルバックアップと差分バックアップを使い元の状態に戻す。
増分バックアップ
バックアップの種類の関係なく、前回のフルバックアップ以降に作成変更されたファイルだけをバックアップするのが増分バックアップである。 障害発生時は元の状態に復元するために直近となるフルバックアップ以降のバックアップ全てが必要となる。