平成27年度 秋期 システムアーキテクト試験 午前Ⅱ 問6
テクノロジ/システム構成要素大量のデータを並列に処理するために,入力データから中間キーと値の組みを生成する処理と,同じ中間キーをもつ値を加工する処理との 2 段階で実行するプログラミングモデルはどれか。
出典:平成27年度 秋期 システムアーキテクト試験 午前Ⅱ 問6
- ア2 相コミット
- イKVS
- ウMapReduce
- エマルチスレッド
正解:ウ
解説
MapReduce は,大量のデータを複数のノードで並列に処理するためのプログラミングモデルであり,Map 処理(入力データから中間キーと値の組みを生成する処理)と,Reduce 処理(同じ中間キーをもつ値をまとめて加工する処理)の 2 段階で構成されます。Map 処理によって分散されたデータから中間結果を生成し,Reduce 処理によって同じキーごとに集約・加工することで,大規模データの分散処理を実現します。
選択肢ごとの解説
- ア誤り。2 相コミットは,分散トランザクションにおいて,複数のノードにまたがる更新処理の原子性を保証するためのプロトコルであり,大量データの並列処理モデルではありません。
- イ誤り。KVS(Key-Value Store)は,キーと値の組みでデータを管理するデータストアの形式であり,2 段階のデータ処理モデルそのものを指す用語ではありません。
- ウ正しい。MapReduce は,Map 処理と Reduce 処理の 2 段階で大量のデータを並列処理するプログラミングモデルです。
- エ誤り。マルチスレッドは,一つのプロセス内で複数のスレッドを並行して実行する仕組みであり,Map と Reduce という 2 段階の処理モデルを指すものではありません。