ようへい

2017年9月23日土曜日

平成27年 秋期 システムアーキテクト 午前Ⅱ 問6

大量のデータを並列に処理するために、入力データから中間キーと値の組みを生成する処理と、同じ中間キーを持つ値を加工する処理との2段階で実行するプログラミングモデルはどれか。
  1. 2相コミット
  2. KVS
  3. MapReduce
  4. マルチスレッド
解法
2相コミット
2相コミット(Two-Phase Commit)とは、コンピュータネットワークやデータベースにおいて、分散システム内の全ノードがトランザクションのコミットに合意するための分散アルゴリズムあるいはプロトコルである。
2相コミット - Wikipedia
https://ja.wikipedia.org/wiki/2相コミット
KVS 【 Key-Value Store 】 Key-Valueストア / キーバリューストア
KVSとは、データの保存・管理手法の一つで、任意の保存したいデータ(値:value)に対し、対応する一意の標識(key)を設定し、これらをペアで保存する方式。また、そのような機能を提供するシステムやソフトウェアのこと。特に、複数のサーバや記憶装置などに分散してデータを保存できる機能を持ったものは「分散KVS」(distributed KVS)と呼ばれる。
KVS(Key-Valueストア)とは - IT用語辞典
http://e-words.jp/w/KVS.html
MapReduce
MapReduce は、巨大なデータセットを持つ高度に並列可能な問題に対して、多数のコンピューター(ノード)の集合であるコンピュータ・クラスター(各ノードが同じハードウェア構成を持つ場合)もしくはグリッド(各ノードが違うハードウェア構成を持つ場合)を用いて並列処理させるためのフレームワークである。処理は、ファイルシステム(非構造的)もしくはデータベース(構造的)に格納されたデータに対して行うことができる。
Map ステップ - マスターノードは、入力データを受け取り、それをより細かい単位に分割し、複数のワーカーノードに配置する。受け取ったワーカーノードが、更に細かい単位に分割し、他の複数のワーカーノードに配置するという、より深い階層構造の分割を行うこともある。そして、各ワーカーノードは、その細かい単位のデータを処理し、処理結果を、マスターノードへと返す。

Reduce ステップ - 続いて、マスターノードが、Mapステップでの処理結果を集約し、目的としていた問題に対する答え(結果)を何らかの方法によって出力する。

MapReduce の特徴は、MapとReduceの各ステップで並列処理が可能なことである。それぞれのMap処理は、他のMap処理と完全独立であり、理論的に全て並列実行することができる(実際には、データソースやCPUの数により制限がかかる)。続くReduceステップでは、Mapステップでの処理結果がキー毎にまとめられてReduce処理に送られることになるが、これも同様に並列処理が可能である。
ということで正解は
関連記事

0 件のコメント:

コメントを投稿