SAシステムアーキテクト試験 午前Ⅱ
令和7年度春期 システムアーキテクト 午前Ⅱ 問4
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア2相コミット
- イKVS
- ウMapReduce
- エマルチスレッド
解き方のヒントを見る
並列分散処理の用語の役割を見極める
大規模データを扱う技術には、計算の手順を記述する考え方、データを保管する仕組み、処理基盤を動かすソフトウェアなど性質の異なるものが混在します。登場する用語がどの役割に属するかを自分の言葉で説明できるかを確かめましょう。
この問題で問われていること
問われているのは「プログラミングモデル」という区分です。各用語が、開発者が処理の流れをどう組み立てるかを定める枠組みなのか、それとも別の層の技術や製品なのか。この一つの観点に絞り、根拠を持って判断することが求められます。
視点
大規模データ処理の分野では、いくつかの層の用語が同じ文脈で語られます。計算をどう表現するかという抽象的な考え方(モデル)、それを動かすための実装やフレームワーク、データを蓄える保管・管理の仕組み、プログラムを書くための言語などです。名前がよく似ていたり、同じ製品群の中でまとめて紹介されたりするため、混同しやすくなります。学習の際は、用語ごとに「それは何を決めるものか」「どの層に位置するか」を一言で言えるように整理しておくと判断しやすくなります。
確認ポイント
- その用語が計算の記述方法を指すのか、データの保管や管理を指すのかを区別できるか
- 考え方(モデル)と、それを実装したソフトウェア製品とを混同していないか
- 並列分散処理とは別の分野の用語が紛れていないか、各用語の本来の用途を思い出せるか
正解と解説を見る
正解
ウ
解説
このモデルは、入力データから中間的なキーと値の組を生成し、同じキーに属する値を集約して処理する二段階構成を取る。大量データを複数の計算資源で分散処理しやすい点が特徴です。
理由
MapReduceは、Map処理で入力データから中間キーと値の組を生成し、Reduce処理で同じ中間キーをもつ値をまとめて加工するプログラミングモデルです。設問の二段階処理と一致する。
比較
2相コミットは分散トランザクションの合意形成、KVSはキーと値を対応付けて保存する方式、マルチスレッドは一つのプロセス内で複数の処理を並行実行する仕組みであり、設問の処理モデルそのものではありません。
選択肢ア
これは不正解だよ。2相コミットは、分散した処理参加者に対して準備とコミットの段階を設け、処理結果を確定するためのトランザクション制御方式である。入力からキーと値を生成し、同じキーの値を加工するデータ処理モデルではない。
選択肢イ
これは不正解だよ。KVSは、キーとそれに対応する値を保存・検索するデータ管理方式である。キーと値を扱う点は共通するが、入力データを変換する処理と、同じ中間キーの値を加工する二段階の並列処理モデルを表していない。
選択肢ウ(正解)
これは正解だよ。MapReduceは、Map段階で入力データから中間キーと値の組を生成し、Reduce段階で同じ中間キーをもつ値をまとめて処理する。大量データを分散・並列に処理する設問の説明に一致する。
選択肢エ
これは不正解だよ。マルチスレッドは、一つのプログラム内で複数のスレッドを動かし、処理を並行して進める実行方式である。中間キーによるデータの分類と、同じキーの値を後段で加工する二段階モデルを直接示す用語ではない。
学習のポイント
前段の変換と後段の集約という役割分担を、他の分散処理技術と区別して覚える。
出典:独立行政法人 情報処理推進機構(IPA)令和7年度春期 システムアーキテクト試験 午前Ⅱ 問4(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針