令和7年度 春期 システムアーキテクト試験 午前II 問4

大量のデータを並列に処理するために,入力データから中間キーと値との組みを生成する処理と,同じ中間キーをもつ値を加工する処理との2段階で実行するプログラミングモデルはどれか。

解答・解説

正解: ウ. MapReduce

正解は ウ(MapReduce) です。

MapReduce は、大規模なデータセットを複数のコンピュータ(ノード)で分散並列処理するためのプログラミングモデルです。主に以下の2つの段階で処理を行います。

  • Map処理: 入力データを読み込み、キーと値のペア(中間キーと値の組み)を生成します。
  • Reduce処理: Map処理で生成されたデータを中間キーごとに集約し、値を加工・計算して最終的な結果を出力します。

各選択肢の解説

  • ア 2相コミット: 分散データベースシステムにおいて、分散された複数のデータベース間でトランザクションを矛盾なく完了させ、データの整合性を保証するためのプロトコルです。
  • イ KVS (Key-Value Store): データを一意の「キー」とそれに対応する「値」のペアとして保存する、シンプルな構造のデータストア(NoSQLデータベースの一種)です。
  • ウ MapReduce: 正解です。設問の通り、入力データから中間キーと値の組みを生成する処理(Map)と、同じ中間キーをもつ値を加工する処理(Reduce)の2段階で実行されます。
  • エ マルチスレッド: 1つのプログラム(プロセス)内で、複数の処理の流れ(スレッド)を並行して実行し、処理効率を高める仕組みのことです。

Spineチーム