SkillStack
テクノロジ系4 / 25問

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

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

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ウ

MapReduceは、大量のデータを複数のコンピュータで分散・並列処理するためのプログラミングモデルです。最初のMap処理では、入力データを読み込み、中間的なキーと値の組を生成します。次に、同じキーをもつ値がまとめられ、Reduce処理で集計や加工が行われます。例えば単語数を数える場合、Map処理で各単語について「単語、1」を出力し、同じ単語の値を集めた後、Reduce処理で1を合計します。このように、処理をMapとReduceの二段階として表すウが正解です。なお、両者の間では、同じキーのデータを集めるシャッフルや整列も行われます。

アの2相コミットは誤りです。これは分散トランザクションに参加する複数の処理を、準備段階と確定段階に分け、全体として更新の原子性を保つ方式です。

イのKVSは誤りです。KVSは、データをキーと値の組として保存し、キーを指定して値を取得するデータストアです。並列処理を二段階で記述するモデルではありません。

エのマルチスレッドは誤りです。これは一つのプロセス内で複数の処理の流れを並行又は並列に実行する方式です。Map処理とReduce処理という構造を必須とするものではありません。

【ポイント】 Mapは中間的なキーと値を生成し、Reduceは同じキーの値を集約します。 「Map、シャッフル、Reduce」というデータの流れを順番に覚えてください。 KVSもキーと値を扱いますが、保存方式であり処理モデルではない点が重要です。

出典:令和7年度 春期 システムアーキテクト試験 午前II 問4
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める