近年、企業でデータを収集・分析し、マーケティングや経営の意思決定に役立てる企業が増えています。データ分析を行うためには、データを収集・加工・分析を行うデータ分析基盤の構築が必要です。
AWS(Amazon Web Services)では、データレイクを構築する為の様々なサービスがリリースされており、簡単にデータレイクを構築できるようになっています。具体的にどのようなサービスを利用すればいいのか、具体的に見ていきましょう。
データレイクとは
データレイクとはデータ分析のためにデータを蓄積しておくストレージのことを指します。ただし、同じような役割のシステムにデータウェアハウスも存在します。それぞれどのような役割で、どのようなものなのかを解説します。
データウェアハウスとの違い
データウェアハウスとデータレイクとの違いは、以下の通りです。
大きな違いは、構築目的の範囲です。データレイクは、データ蓄積の目的が明確ではありません。「後ほど分析などで使うかもしれないからとっておこう」というような動機でデータが保存されています。一方でデータウェアハウスは、どのようなデータを格納し、どのようなアウトプットが必要とされるかを、事前に決めて設計します。したがって、データウェアハウスは用途が限定されてしまいますが、データレイクは様々なデータ分析のニーズに対応することが可能です。
データレイクを構築するには
データレイクを構成するストレージは、ペタバイト級の容量が必要になります。オンプレミスで構築しようとする場合、高性能なストレージ製品が数台~数十台必要になります、多大なコストがかかってしまいます。したがって、AWSのS3やGCPのCloudStrageのような、実質容量が無限のストレージサービスを利用すれば、大容量のデータレイクがすぐに構築できます。
データ分析サービス
データレイクを構築した後は、実際にデータ分析を行っていく必要があります。AWSで利用する代表的なデータ分析サービスはAthena、Redshift、EMRなどがあります。
それぞれのサービスで、具体的にどのような用途があるのか、解説します。
- Athena
Athenaは、S3に保存・蓄積したログに対して直接SQLクエリを実行し、分析を行えるサービスです。S3にデータが存在し、SQLを知っていれば簡単に利用できるので、導入しやすく、非常に便利なサービスですが大規模なデータの分析や複雑なデータの分析には不向きです。また、料金体系や運用を理解して利用しないと利用料金が膨大になってしまうのも特徴です。大規模かつ複雑なデータ分析を行うには、後述のRedshiftやEMRを利用しましょう。
- Redshift
Redshiftは、マネージドのデータウェアハウスサービスです。通常のデータベースは行志向(1行に1データ格納され、データの更新や参照を行う)ですが、Redshiftは列志向と呼ばれる考え方を採用されています。これにより、特定の項目の集計や相関関係の計算が行志向のデータベースよりも高速に可能になっています。
- EMR
EMRはHadoopやSpark、Hiveといったデータ分析フレームワークを利用し、S3などに格納された大量のデータについて処理を行うサービスです。もともとはGoogle社が開発した『MapReduce』という技術を利用しており、大量のデータのかたまりを分割して処理を行うため、データ分析の処理速度が優れています。一方でAthenaやRedshiftと比べると、扱いが少々難しいという面があります。
- 使い分けはどうすればいいの?
Athena、Redshift、EMRの使い分けは以下の通りです。
・分析対象が小容量
→Athenaを検討してみる
・分析対象が大容量かつ非構造データが含まれる
→EMRを検討してみる
・分析対象が大容量かつ構造データのみ
→Redshiftを検討してみる
いかがでしたでしょうか。次回はデータレイク構築について、お伝えいたします!