分散ファイルシステムと分散処理をどう見分けるか
基本情報技術者試験 平成30年度春期 午前 問20 / ソフトウェア › オープンソースソフトウェア
過去問にチャレンジ
多数のサーバで構成された大規模な分散ファイルシステム機能を提供し,MapReduceによる大規模データの分散処理を実現するOSSはどれか。
- ア
Apache Hadoop
- イ
Apache Kafka
- ウ
Apache Spark
- エ
Apache Storm
会話形式の解説
講師この問題では、データを分散して保存する機能と、MapReduceで分散して処理する機能の両方を確認します。
受験者Apache Sparkも大量のデータを分散して処理できます。これだけでは選べないのですね。
講師はい。Spark自体は、問題文にある分散ファイルシステムを提供しません。保存の条件も確かめる必要があります。
受験者保存と処理の両方を備えるのがApache Hadoopですか。
講師そうです。HadoopはHDFSでデータを複数のサーバに分散して保存し、MapReduceで処理も分散して実行できます。
受験者Apache Kafkaは、データを分散して保存する仕組みなのでしょうか。
講師Kafkaの主な役割は、システム間でデータをやり取りする分散メッセージングです。この問題で求める保存と処理の組合せには当たりません。
受験者Apache Stormは分散して処理しますが、MapReduceによる処理とは違うのですか。
講師Stormは次々に届くデータの分散処理に使われます。分散ファイルシステムとMapReduceの組合せには該当しません。
受験者分散処理という共通点だけで判断せず、保存の機能と処理の方式を一つずつ確認するのですね。
講師そのとおりです。データを運ぶ仕組み、分散して保存する仕組み、分散して処理する仕組みを区別すると判断しやすくなります。
まとめ
正解はApache Hadoopです。HDFSでデータを複数のサーバに分散して保存し、MapReduceで処理も分散して実行できます。Apache SparkとApache Stormは分散処理に関係しますが、問題文の機能の組合せには当たりません。Apache Kafkaの主な役割は、システム間の分散メッセージングです。
解答・解説
正解はアです
この問題のテーマ
分散ファイルシステムによるデータ保存と、MapReduceによる分散処理を備えるOSSを識別する問題です。
解き方の考え方
問題文にある「分散ファイルシステム」と「MapReduce」の両方を手掛かりにします。各選択肢の主な役割を確かめ、二つの条件を満たすものを選びます。
選択肢ごとの解説
- ○ア Apache HadoopApache Hadoopは、HDFSでデータを複数のサーバに分散して保存できます。また、MapReduceによって処理も分散して実行できます。問題文の二つの条件に合うため、正解です。
- ×イ Apache KafkaApache Kafkaの主な役割は、システム間でデータをやり取りするための分散メッセージングです。問題文が求める、分散ファイルシステムとMapReduceを備えたOSSには当たりません。
- ×ウ Apache SparkApache Sparkは、大量のデータを分散して処理するエンジンです。処理を分散できる点は似ていますが、Spark自体は問題文にある分散ファイルシステムを提供しません。
- ×エ Apache StormApache Stormは、次々に届くデータを分散して処理するために使われます。問題文が示す分散ファイルシステムとMapReduceの組合せには該当しません。
POINT
- OSSを識別するときは、製品名だけでなく、問題文に示された機能の組合せを確認します。
- データを分散して保存する機能と、データを分散して処理する機能は区別します。
- データを運ぶ仕組みと、保存・処理を担う仕組みも区別します。
