AWSデータベース紹介編~AWSの様々なDBサービス編⑤~

Hadoopとは、大規模データを効率的に分散処理するためのミドルウェアのことで、オープンソースとして公開されています。

キモカワイイこいつが目印のサービスです。

Hadoop

HadoopにはMapReduceとHDFSがあり前者は処理を分散、後者はファイルを分散する仕組みです。

PC一台では捌けなかったような大量なデータの分析やログデータの解析、データの分類や整形をデータベースで利用できる形へ加工するインデックス化、バッチ処理などに使われることが多いですね。

Hadoopには大規模データを分散して格納するためのHDFS、大規模データを処理するためのMapReduceがあり、MapReduceをオープンソースとして実装したフレームワーク基盤をHadoopと呼びます。

◯MapReduceとは

MapReduce は簡単に言うとたくさんのPCを並べて分散して処理を行なう仕組みのことをいいます。

基本的なアーキテクチャとしてはマスターとスレーブという親子関係になっていて、親から子に対して処理を命令を送り、子は命令された処理を行ないます。

子が処理を終了したら親から新たな命令が下り実行していきます。

子供の一人が処理を失敗した場合親は命令を取りやめ、別の子に命令を引き渡していきます。

この親のことをMap、子のことをReduceと呼び合わせてMapReduceとなります。

◯HDFSとは

HDFSは、Hadoop Distributed File Systemの略で、分散ファイルシステムのことです。大きい複数のファイルを分散して持たせることで1台では扱えないようなデータサイズも取り扱えるようにするシステムのことです。

MapReduceのアーキテクチャと同様にNameNodeとDataNodeという親子関係のマシンによって構成されます。

親ではどのデータがどの子供に保存されているかの管理、子供はデータの保存先となります。

いかがでしたでしょうか?

次回はこれらを踏まえた上でEMRの特徴やコスト感についてご紹介します。

お楽しみに!

次回記事: AWSデータベース紹介編~AWSの様々なDBサービス編⑥~

この記事を書いた人

aws-recipe-user