システムの形態を分類すると、バッチ処理、オンライントライザクション処理、リアルタイム処理といった処理形態に基づく分類や、集中システム、分散システム、クライアントサーバシステムといった分担形態に基づく分類ができます。
処理形態での分類
| 処理 | 概要 |
|---|---|
| バッチ処理 | 一定量のデータやタスクをまとめて一括で自動実行する処理方式です。 |
| オンライントランザクション処理 | リアルタイムで高速かつ正確に処理するシステム方式です。 |
| リアルタイム処理 | データが入力されたり要求が発生したりした瞬間に、遅延なく即座に処理を行い、迅速な結果を返す方式です。 |
バッチ処理
バッチ処理とは、一定量のデータやタスクをまとめて一括で自動実行する処理方式で、夜間などシステムの負荷が低い時間帯に、データの集計・更新・レポート作成・バックアップなどに利用されます。人間が介在せず効率的に大量処理ができる、システム負荷を平準化できる、エラー発生時に通知されるなどのメリットがあり、対義語は即時処理を行うリアルタイム処理です。
仕組みと特徴
- 一括処理: データを「バッチ(一束、一群)」としてまとめ、まとめて処理します。
- 自動化: ジョブスケジューラ(cron、Windowsタスクスケジューラなど)でスケジュール設定し、自動で実行されます。
- 非同期: 入力と同時に処理されるリアルタイム処理とは異なり、後からまとめて処理します。
- リソース効率: システムが利用可能な時間帯(夜間など)に実行することで、コンピュータのリソースを有効活用します。
主な用途例
- 金融: 毎日の口座残高の更新、利息計算。
- 会計: 月次・年次決算、売上集計。
- IT: 大量データのバックアップ、ログ解析、システム間ファイル連携。
- 製造業: 生産管理における一定量の原材料での製造量計算。
メリット
- 高効率: 大量のデータを高速に処理できる。
- 人為的ミス削減: 自動化によりヒューマンエラーを防ぐ。
- システム負荷平準化: ピーク時を避け、安定稼働に寄与。
デメリットと課題
- リアルタイム性欠如: 即座の結果は得られない。
- 遅延リスク: データ量増加やエラーで処理が遅れると、後続業務に影響。
- 複雑化: プログラムが複雑になり、管理が難しくなることも。
オンライントランザクション処理
オンライントランザクション処理とは、銀行取引やECサイトの注文処理、チケット予約など、日常的な業務における大量のデータを、リアルタイムで高速かつ正確に処理するシステム方式です。複数の処理を一つの不可分な単位(トランザクション)として扱い、ACID特性(原子性、一貫性、独立性、永続性)によりデータの整合性を保証し、高可用性と高スループットを実現します。
主な特徴
- リアルタイム性: ユーザーの要求に即座に応答し、処理結果を素早く返します。
- 高頻度・小規模データ: 小さなデータ(数レコード程度)の読み書き(INSERT, UPDATE, DELETE)が頻繁に行われます。
- 高い整合性と信頼性: 複数の処理を「すべて成功」または「すべて失敗」させることで、データの不整合を防ぎます(アトミック性)。
- 高可用性・高スループット: 多数のユーザーが同時にアクセスしても、システムが停止せず、高速に処理を継続できる必要があります。
- 用途: ATM、オンラインバンキング、ECサイト、予約システム、在庫管理、POSシステムなど。
リアルタイム処理
リアルタイム処理とは、データが入力されたり要求が発生したりした瞬間に、遅延なく即座に処理を行い、迅速な結果を返す方式で、金融取引、オンラインゲーム、自動制御システムなどで使われ、処理の厳密性により「ハードリアルタイム処理」(確実性重視)と「ソフトリアルタイム処理」(許容範囲あり)に分けられます。これは、データをまとめて処理する「バッチ処理」と対比されます。
特徴と仕組み
- 即応性: データ入力後、最小限の時間で処理を完了させることが重要です。
- 期限性: 処理には厳密な時間的制約(期限)が設けられています。
- 対義語: データを溜めてから一括処理する「バッチ処理」や「一括処理」が対義語です。
- 技術: 高速なプロセッサ、メモリ、ネットワーク、リアルタイムOS(RTOS)などが使われます。
種類
- ハードリアルタイム処理: 期限内に確実に処理を完了させないとシステム全体が停止する可能性があり、航空機制御や産業用ロボットなどで必須です(例: RTOS利用)。
- ソフトリアルタイム処理: 処理の遅延が許容範囲内であれば問題なく、遅延してもシステムは停止しない、あるいは再試行できる処理です(例: オンラインゲーム、ECサイトのレコメンデーション)。
具体例
- 金融: 株式取引の価格変動の即時反映、オンラインバンキング。
- 制御: 自動車・航空機の自動操縦、プラント制御。
- インタラクティブ: オンラインゲーム、チャット、座席予約システム。
- その他: IoTセンサーデータのリアルタイム解析、クレジットカードの不正利用検知。
オンライントランザクション処理とリアルタイム処理の違い
オンライントランザクション処理は、個々の業務トランザクション(銀行振込、EC決済など)をリアルタイムで高速かつ確実に処理する手法で、データの整合性を重視し、同時多数の「書き込み」に向きます。一方、リアルタイム処理は、データ発生と同時に即時処理を意味します。
オンライントランザクション処理もリアルタイム処理の一種ですが、より広義で「即座の応答」を求める監視システムや制御などにも使われ、応答速度が最重要視されます。つまり、オンライントランザクション処理は「何を(業務トランザクション)」、リアルタイム処理は「いつ(即時性)」に焦点を当てた概念です。
分担形態での分類
| 分担 | 概要 |
|---|---|
| 集中システム | コンピュータセンタに汎用機を設置し、汎用機に全ての処理を実施させる方式です。 |
| 分散システム | 処理を行うコンピュータを拠点ごとに分散して配置する方式です。 |
| クライアントサーバシステム ※分散システムの一種 | サービスを要求する「クライアント」と、サービスを提供する「サーバー」がネットワークで接続され、役割分担して動作するコンピューターシステムです。 |
集中システムと分散システムは互いに逆の利点欠点を持っています。
集中分散各システムの利点欠点
| 状況 | 集中システム | 分散システム |
|---|---|---|
| 障害発生時 | センタに障害が生じるとシステム全体が停止する。 | 1拠点に障害が生じても障害の影響が局所化する。 |
| 運用管理 | センタだけに管理者を配置すれば良い。 | 各拠点ごとに管理者を配置する必要がある。 |
| データ管理 | センタのみで管理すれば良い。 | 各拠点間での整合性をとる必要がある。 |
| セキュリティ | センタで集中した管理が可能である。 | 各拠点間で管理が必要である。 |
クライアントサーバシステム
クライアントサーバシステムは、サービスを要求する「クライアント」と、サービスを提供する「サーバー」がネットワークで接続され、役割分担して動作するコンピューターシステムです。クライアントは利用者の操作(画面表示や入力受付)を担当し、サーバーはデータ管理やアプリケーション処理、周辺機器(プリンターなど)の提供といった重い処理を担い、要求に応じてデータなどを返します。WebブラウザとWebサーバーの関係が代表例で、1980年代以降に普及し、分散処理による効率化と信頼性向上が特徴です。

仕組み
- クライアント: 利用者が操作するPCやスマートフォンなど。「顧客」のようにサービスを要求する側。
- サーバー: データ、機能、ハードウェアなどを管理・提供するコンピューター(またはソフトウェア)。「提供者」。
- ネットワーク: クライアントとサーバーを繋ぎ、通信を仲介する。
- 処理の流れ: クライアントが「〇〇をください」と要求し、サーバーが処理して結果を返す。
特徴
- メリット:
- 分散処理: 処理を分担できるため、効率的。
- 管理のしやすさ: サーバーで一元管理できるデータや資源がある。
- 耐障害性: 1つのクライアントが壊れても、他のクライアントやサーバーには影響が出にくい(部分的な故障に強い)。
- デメリット:
- 管理の複雑化: クライアントの数が増えると、アップデートなどで手間がかかる場合がある。
具体例
- Webシステム: Webブラウザ(クライアント)がWebサーバーにリクエストを送り、Webページ(データ)を受け取る。
- ファイルサーバー: クライアントPCからファイルサーバーにファイル保存や読み込みを要求する。
- データベースシステム: アプリケーション(クライアント)がデータベースサーバーにデータ問い合わせを行う。
代表的なサーバ
| サーバ | 概要 |
|---|---|
| ファイルサーバ | ファイルを管理して、共有する。 |
| データベースサーバ | データベースの管理およびアクセスを行う。 |
| プリントサーバ | プリンタの共有、出力ジョブの管理を行う。 |
| Webサーバ | 要求に応じてHTMLファイルを返す。 |
| メールサーバ | 電子メールの配送を行う。 |
| DNSサーバ | 問い合わせのあったホスト名に対応するIPアドレスを返す。 |
3層クライアントサーバシステム
3層クライアントサーバシステムとは、システム機能をプレゼンテーション層(UI)、アプリケーション層(業務ロジック)、データ層(データベース)の3つに論理的に分割して構築するシステム形態で、現代のWebシステム(Webブラウザ、Webサーバー、DBサーバー)の基本構造であり、保守性・拡張性・負荷分散に優れるのが特徴です。

画像参照:https://itmanabi.com/3-layer-2-layer/
3つの層の役割
- プレゼンテーション層: ユーザーインターフェース(UI)を担当。Webブラウザなどが該当し、情報の表示やユーザーからの入力を受け付けます。
- アプリケーション層(ファンクション層/ロジック層): 業務ロジック(具体的な処理手順)を実装。クライアントからの要求に基づき、データの加工や変換、データベースへの指示などを行います。
- データ層(データベース層): データを永続的に保存・管理。データベース(DB)サーバーが該当し、アプリケーション層からの要求に応じたデータの読み書きを行います。
メリット
- 保守・改修の容易さ: 各層が独立しているため、例えばロジック(アプリケーション層)を変更しても、UI(プレゼンテーション層)やDB(データ層)に影響を与えにくい。
- 負荷分散: 各層の役割が分担され、それぞれ異なるサーバーで処理できるため、サーバーへの負荷が分散され、システム全体のパフォーマンスが向上します。
- 開発効率の向上: 担当チームが各層を並行して開発でき、開発効率や柔軟性が高まります。
Webシステムでの例
Webシステムでは、Webブラウザ(プレゼンテーション層)がWebサーバー(アプリケーション層の一部)、DBサーバー(データ層)と連携して動作しており、この3層構造が一般的です。
クラウドシステム
クラウドシステムとは、インターネット経由でソフトウェアやコンピューティングリソース(サーバー、ストレージなど)を利用する仕組みの総称で、自社で物理的な設備を持たずに、必要な時に必要な分だけサービスを利用できるのが特徴です。GmailやiCloud、オンラインゲームなどが身近な例で、時間や場所を選ばずにアクセスでき、テレワークやBCP対策にも有効ですが、カスタマイズ性や既存システムとの連携に課題が生じる場合もあります。
主な特徴
- 利便性: インターネット環境があれば、PC、スマホなどデバイスを問わずどこからでも利用可能。
- 柔軟な拡張性: 事業規模やニーズに合わせて、リソース(容量、機能)を柔軟に増減できる。
- 低コスト: 物理サーバーの購入・維持費が不要で、初期費用を抑え、従量課金制で利用できる場合が多い。
- 保守・運用不要: サーバーの管理やソフトウェアのアップデートは、提供事業者側が行う。
従来のシステム(オンプレミス)との違い
- オンプレミス: 自社でサーバーを購入・設置し、システムを構築・運用する。
- クラウド: インターネット上の仮想サーバーを利用し、サービスとして利用する。
クラウドシステムのサービスモデル(主な3つ)
- SaaS (Software as a Service): アプリケーション(例: Gmail, Microsoft 365, Salesforce)をインターネット経由で利用。
- PaaS (Platform as a Service): アプリケーション開発・実行環境(OS, データベースなど)を利用。
- IaaS (Infrastructure as a Service): サーバー、ストレージ、ネットワークなどのインフラ(基盤)を仮想的に利用。
補足
クラウドサービスについて詳しく知りたい方はこちら。
仮想化技術
仮想化技術とは、サーバー、ストレージ、ネットワークなどの物理的なITリソースをソフトウェアで分割・統合し、あたかも複数のリソースがあるかのように見せかけたり、逆に複数のリソースを1つにまとめたりする技術で、1台の物理サーバー上で複数の仮想マシン(VM)を独立して動作させ、OSやアプリケーションを共存させることができ、リソースの有効活用、コスト削減、管理の効率化、柔軟なシステム運用を実現します。
主な仕組みと種類
- 仮想マシン(VM): 物理マシン上に構築されるソフトウェア上のコンピューターで、それぞれ独立して動作します。
- ハイパーバイザー: 物理ハードウェア上で仮想マシンを管理・実行するためのソフトウェア(例: VMware, Hyper-V)で、ホスト型とベアメタル型(Type 1)があります。
- サーバー仮想化: 1台の物理サーバーを複数に分割し、異なるOSやアプリケーションを同時に動かします。最も一般的です。
- ストレージ仮想化: 複数のストレージをまとめて「ストレージプール」として管理し、必要に応じて容量を割り当てます。
- ネットワーク仮想化: 物理ネットワークを論理的に分割・統合し、ネットワーク機能の柔軟性を高めます。
- デスクトップ仮想化: クライアントPCのデスクトップ環境をサーバー側で仮想化し、どの端末からでもアクセスできるようにします。
メリット
- コスト削減: ハードウェアの台数削減、省電力化。
- リソース効率化: 物理リソースの利用率向上、無駄の抑制。
- 管理の簡素化: 物理的な設置スペースが減り、統合管理が可能に。
- 柔軟性と俊敏性: 仮想マシンの作成・変更・移動が容易で、迅速なシステム構築が可能。
- 可用性向上: 障害発生時に仮想マシンを別の物理サーバーへ移動(ライブマイグレーション)し、ダウンタイムを最小限に抑えられます。
デメリットと注意点
- パフォーマンスのオーバーヘッド: 仮想化ソフトウェア(ハイパーバイザー)がリソースを消費します。
- 障害の影響範囲: 物理ハードウェアが故障すると、その上で動く全仮想マシンに影響が出る可能性があるため、冗長化が重要。
- 複雑性: 物理環境よりレイヤーが増えるため、障害発生時の切り分けが複雑になることも。
活用例
- クラウドコンピューティングの基盤: IaaSなどで提供される仮想サーバーの基盤技術。
- 開発・テスト環境: 複数OSでの動作確認や、隔離された環境でのテスト。
- レガシーシステム: 古いOSやアプリケーションを、現代のハードウェア上で動かし続ける。
- 自動車業界: ホンダが次世代車で複数のOSを1つのECU上で動かすために採用するなど、分野を問わず広がっています。
VDI
VDI(Virtual Desktop Infrastructure:仮想デスクトップ基盤)とは、デスクトップ環境(OS、アプリケーション、データ)をサーバー上で仮想化して一元管理し、ユーザーは手元の端末(PC、タブレットなど)からネットワーク経由で接続して利用する技術です。これにより、端末には情報が残らずセキュリティが向上し、場所や端末を選ばず業務が可能になるため、テレワークやBCP対策(災害対策)に有効で、管理も容易になります。
仕組み
- サーバー側: サーバー上で仮想マシン(VM)としてデスクトップ環境が構築・実行されます。
- クライアント側: ユーザーは手元の端末からネットワークを通じてサーバーに接続します。
- 画面転送: サーバー上のデスクトップ画面がユーザーの端末に転送され、操作画面だけが表示されます。
- 処理: アプリケーションの実行やデータ処理はすべてサーバー側で行われます。
メリット
- セキュリティ強化: 端末にデータが残らないため、紛失・盗難時の情報漏洩リスクを低減。
- 柔軟な働き方: インターネット環境があれば、オフィス外や自宅からでも業務が可能(テレワーク・在宅勤務)。
- BCP対策: 災害などでオフィスが使えなくても、別の場所から業務を継続できる。
- 管理の効率化: OSやアプリケーションをサーバーで一元管理できるため、端末ごとの管理が不要。
デメリット・注意点
- ネットワーク依存: ネットワーク環境が不安定だと、パフォーマンスが低下する。
- サーバー負荷: 多くのユーザーが同時に利用すると、サーバーやネットワークに負荷がかかる。
- 構築・運用コストとノウハウ: 専門知識が必要で、初期費用や運用コストがかかる場合がある。
種類(主な方式)
- VDI方式(仮想PC方式): 1ユーザーに1つの仮想PCを割り当てる方式。
- SBC方式(デスクトップ共有方式): 1つのサーバーOSを複数ユーザーで共有する方式(RDSライセンス利用)。
- HDI方式(ホスト型デスクトップインフラ方式): サーバーを単独ユーザーが占有する方式。
- DaaS方式(Desktop as a Service): クラウドサービスとしてVDIを提供する方式。
VDIは、セキュリティと生産性の両立が求められる現代の企業環境において、重要なソリューションとして導入が進んでいます。

コメント