令和7年度 春期 システムアーキテクト試験 午前II 問4
テクノロジAI・データ活用データ分析・データ基盤
大量のデータを並列に処理するために,入力データから中間キーと値との組みを生成する処理と,同じ中間キーをもつ値を加工する処理との2段階で実行するプログラミングモデルはどれか。
解答・解説
正解: ウ. MapReduce
正解は ウ(MapReduce) です。
MapReduce は、大規模なデータセットを複数のコンピュータ(ノード)で分散並列処理するためのプログラミングモデルです。主に以下の2つの段階で処理を行います。
- Map処理: 入力データを読み込み、キーと値のペア(中間キーと値の組み)を生成します。
- Reduce処理: Map処理で生成されたデータを中間キーごとに集約し、値を加工・計算して最終的な結果を出力します。
各選択肢の解説
- ア 2相コミット: 分散データベースシステムにおいて、分散された複数のデータベース間でトランザクションを矛盾なく完了させ、データの整合性を保証するためのプロトコルです。
- イ KVS (Key-Value Store): データを一意の「キー」とそれに対応する「値」のペアとして保存する、シンプルな構造のデータストア(NoSQLデータベースの一種)です。
- ウ MapReduce: 正解です。設問の通り、入力データから中間キーと値の組みを生成する処理(Map)と、同じ中間キーをもつ値を加工する処理(Reduce)の2段階で実行されます。
- エ マルチスレッド: 1つのプログラム(プロセス)内で、複数の処理の流れ(スレッド)を並行して実行し、処理効率を高める仕組みのことです。