分散処理
ぶんさんしょり
ひとことで言うと
複数のコンピュータに処理を分散させて実行する、高速化・耐障害性向上を目的とした計算手法。
解説
複数のコンピュータやプロセッサに処理を分散させて実行するコンピューティング手法。処理の高速化、耐障害性の向上、スケーラビリティの確保が主なメリットである。クライアントサーバモデルやクラウドコンピューティング、MapReduceなどが分散処理の代表的な実現形態である。
くわしく解説
分散処理とは、単一のコンピュータで処理するのではなく、ネットワークで接続された複数のコンピュータやプロセッサに処理を分散させて並行実行するコンピューティング手法である。主なメリットは処理の高速化、耐障害性(一部ノードが停止しても全体が機能し続ける)、スケーラビリティ(負荷増加時にノードを追加できる)の3点である。代表的なモデルとして、役割を分担するクライアントサーバモデル、大規模データ処理向けのMapReduce、クラウドコンピューティングのインフラ基盤などがある。一方で、ネットワーク遅延やデータ整合性の確保、障害箇所の特定困難といった課題もある。近年はビッグデータ処理やクラウド基盤として普及が著しく、中小企業のIT戦略でも重要概念となっている。
具体例で考えよう
大手ECサイトがセール時の大量アクセスに対応するため、複数のサーバに処理を振り分けてロードバランシングを行うのが分散処理の典型例である。1台のサーバが停止してもサービスを継続できる。
試験対策ポイント
分散処理のメリット3点(高速化・耐障害性・スケーラビリティ)は頻出。クライアントサーバモデルとの違い、集中処理との対比で問われることが多い。MapReduceとの関連も確認すること。