システムデザインで大量のイベントデータをバッチ処理するユースケースとしては、リアルタイム性が要求されないデータを集計することが多いです。イベントデータとしてはユーザーの行動ログ、システムメトリクス、IoTデバイスからのセンサーデータなどがあげられます。この章では、大量のデータを分散バッチ処理する技術や、どのように扱うかについて離していきます。
MapReduceとApache Hadoop
MapReduceは、2004年にGoogleから発表されたデータ処理の代表的なモデルです。彼らの論文「
MapReduce: Simplified Data Processing on Large Clusters
」において、関数型プログラミングでよく使用されるmap関数とreduce関数から着目を得て開発されたものです。

MapReduce: Simplified Data Processing on Large Clusters
We maintain a portfolio of research projects, providing individuals and teams the freedom to emphasize specific types of work.