会社のシステムって、パソコンが1台で動いているわけじゃないんですよね?
そう、たいていは何台ものコンピュータを組み合わせているんだ。レストランの「お客さん」と「厨房」をイメージするとわかりやすいよ。どう組み合わせるかで、速さや壊れにくさが変わるんだ。
集中処理と分散処理
まず、処理を 1か所でまとめて行うか、複数に分けて行うか という分け方があります。
| 集中処理 | 分散処理 | |
|---|---|---|
| 仕組み | 1台の大型コンピュータ(ホストコンピュータ)がすべて処理 | 複数のコンピュータが処理を分担 |
| 長所 | 管理やセキュリティ対策がしやすい | 1台が止まっても全体は止まりにくい。拡張しやすい |
| 短所 | 中心のコンピュータが止まると全体が止まる | 管理が複雑になりやすい |
| 例え | 大きな厨房1つで全店分を調理 | 各店舗にそれぞれ厨房がある |
クライアントサーバとピアツーピア
分散処理の代表的な形が クライアントサーバシステム です。
- サーバ:サービスを提供する側(厨房)。Webページ、ファイル、データベースなどを提供する
- クライアント:サービスを依頼して受け取る側(お客さん)。パソコンやスマートフォンなど
これに対して、サーバを置かずに 対等な端末同士が直接やり取りする 形を ピアツーピア(P2P)といいます。
3層クライアントサーバシステム
Webシステムなどでは、処理を次の3つの層に分けて考えることがあります。役割ごとに分けておくと、一部だけを変更しやすくなります。
| 層 | 役割 | レストランの例え |
|---|---|---|
| プレゼンテーション層 | 画面の表示と入力の受付 | 注文を受ける接客係 |
| ファンクション層(アプリケーション層) | 業務の処理・計算 | 料理を作る調理係 |
| データ層 | データベースへの読み書き | 食材を管理する倉庫係 |
シンクライアント
シンクライアント(thin=薄い)は、利用者の端末には 画面表示や入力など最小限の機能だけ を持たせ、アプリケーションやデータは サーバ側で管理 する方式です。端末にデータが残らないので、ノートパソコンを紛失しても情報漏えいのリスクが小さい という利点があります。
止まらないための構成
銀行のATMのように止まると困るシステムでは、コンピュータを2組用意して備えます。代表的な構成が2つあり、違いがよく問われます。
| デュアルシステム | デュプレックスシステム | |
|---|---|---|
| ふだんの動き | 2組が同時に同じ処理 | 主系だけ が処理、待機系は待つ |
| 特徴 | 結果を照合するので誤りに気づける。障害時もすぐ継続 | デュアルより低コスト。切替えに時間がかかることがある |
| 例え | 2人で同じ計算をして答え合わせ | 正選手と控え選手 |
デュプレックスシステムの待機系の待たせ方には、次の2種類があります。
- ホットスタンバイ:待機系を起動した状態で待たせておく。すぐに切り替えられる
- コールドスタンバイ:待機系を停止させておく(または別の処理に使っておく)。障害時に起動・準備するので 切替えに時間がかかる
デュアル(dual)=「2つ同時に」、デュプレックス(duplex)=「主と予備の2重」。ホットは「エンジンをかけたまま待機」、コールドは「エンジンを切って待機」と覚えよう。
処理のタイミングによる分類
| 処理方式 | 内容 | 例 |
|---|---|---|
| バッチ処理 | データをためておき、まとめて一括処理 | 月末の給与計算、夜間の集計 |
| リアルタイム処理 | データが発生したらすぐに処理 | 座席予約、銀行のATM |
| 対話型処理 | 利用者が画面とやり取りしながら進める | ネットショッピングの注文画面 |
給与計算は毎日じゃなくて、月に1回まとめて計算するからバッチ処理なんですね。
そのとおり。逆に、座席予約は「今その席が空いているか」がすぐに反映されないと二重予約になるから、リアルタイム処理が必要なんだ。
試験に出るポイント
- 集中処理 は1台で処理、分散処理 は複数台で分担
- クライアントサーバ:サーバがサービスを提供し、クライアントが依頼する。ピアツーピア は対等な端末同士
- シンクライアント:端末は最小限の機能だけ。データはサーバ側にあり、紛失時の情報漏えい対策になる
- デュアルシステム:2組で同じ処理を同時に行い照合。デュプレックスシステム:主系と待機系
- ホットスタンバイ は待機系を起動して待つ(切替えが速い)、コールドスタンバイ は停止して待つ
- バッチ処理 はまとめて一括、リアルタイム処理 は即時処理