【ビッグデータの課題解決】AWSによるデータ分析の基本サービスとソリューションまとめ ~ ストレージ編
目次
こんにちは。
今回はAWSが提供しているデータ分析に関する基本サービスと、それによる課題解決のソリューションをまとめていきます。
今回はデータレイクやデータベースといった、ストレージ編です。
勉強の参考にしたのは、AWS Trainingが提供しているデジタルトレーニングData Analytics Fundamentals
です。
データ分析とは
分析とは、性質の理解や、本質的な特徴の判断のために詳細に調べること。
データ分析とは、意思決定のためデータを集約・処理・分析するプロセスのこと。
データを活用できないと、収益機会が失われ、コストが上昇し、生産性が低下し、競争力が低下する。
データ分析の課題 : 5つのV
ビッグデータの5つのV
Volume (ボリューム)
処理するデータの量に応じた効率化・分散
Velocity (速度)
データが入り、通過(処理)する速度を迅速化
Variety (多様性)
多種多様なデータソースから、多様なデータ型への対応
Veracity (信憑性)
正確で精度と信頼性があること。クレンジングを行う、provenance(生成から現在の過程までの追跡)を明確にする
Value (価値)
意思決定のための情報を引き出すレポートやダッシュボードの作成
データ分析ソリューションのコンポーネント
入力:未加工データ →
- 収集 : トランザクション、ログ、IoTデバイス、様々なデータ(構造化・非構造化・半構造化)
- 保存 : 安全、スケーラブル、耐久性、データ構造への対応
- プロセス分析 : 変換、分析、ソート、集計、結合、ロジックの適用、新しいストレージへのロード
- 処理、可視化 : クエリの実行、BIツール(レポート、ダッシュボード)
→ 出力:回答とインサイト
ビッグデータの課題1. ボリュームとストレージ
どこにどのようにデータを置くか?
データソースのタイプ
- 構造化データ : テーブルの行と列に編成されるデータ。表形式。
- 半構造化データ : key-valueペア。CSV,XML,JSON。
- 非構造化データ : その他の一貫性のある構造を持たないデータ。画像・テキスト・動画など。
AWSのストレージ : S3(Simple Storage Service)
バケットというファイルフォルダのようなものにオブジェクトとしてデータを保存する。どのようなデータタイプも保存可能。より巨大で整理され、セキュリティ機能を備える。
データ分析に対するS3のメリット
- ストレージと処理の疎結合化(未加工、途中結果、最終結果に別々のバケットが使用可能)
- 並列化(他のプロセスに影響を与えずストレージにアクセス可能)
- データセット保存の一元化(複数の分析プロセスから同時アクセスが可能で、処理システムへの移動が不要)
S3の構成要素
オブジェクトは、ファイルとそのファイルのメタデータで構成される。
バケットはオブジェクトの入れ物。アクセス制御、権限管理が可能。保存する地理的なリージョンを選択して使う。
HTTPを介してアクセス可能で、オブジェクトURLにはバケットとオブジェクトキー(バケット内のオブジェクトが持つ一意の識別子)を持つ。
REST(Representational State Transfer) APIでファイルのやり取りが可能。Hadoopなどの分析ソフトでサポートされ、使いやすいツールでS3データの分析を実行できる。
データレイク
生データを放り込む溜池。大量のデータを整理するための構造が不要で、用途の見通しを必要としない、一元管理ストレージ。
データレイクのメリット
- 信頼できる唯一のソース
- 構造に関係なくあらゆるデータを保存
- データのサイロ化を解消し異なる種類の分析を組み合わせられる
- AIや機械学習による分析も可能
S3によるデータレイクのメリット
- 無制限のデータ容量が確保できる。
- KinesisやSnowballなど収集方法が多様
- 分類・管理に便利なGlueでカタログ化・検索できるようになる
- EMR(Spark, Hadoop), リアルタイム分析, ダッシュボードなど様々なユースケースに特化したサービスと組み合わせられる
データサイエンティストは時間の60%をデータのクリーンアップに費やし、19%をデータの収集に費やしている。
AWS Lake Formation
- S3に何百万とあるファイルを処理システムに取り込みたいという問題を解決するサービス
- 安全なデータレイクを数日でセットアップできる。
- データ取り込み、消去、カタログ化、変換、保護が簡単になる。
- S3データの整理とキュレーション
- データレイク全体のデータを保護(セキュリティ、コンプライアンスの確保)
- 変換ジョブを他のAWSサービスと調整
データウェアハウス(DWH)
構造化データ(表形式)を一元化したリポジトリ。
ロードされる前に変換・集計・準備され、分析とレポートに使用される。
データマート
DWHのサブセット。巨大なDWHから1つのテーマ・領域に絞って作成したテーブル。サイズや目的が制限され、分析に使用しやすく変換したもの。DWHからのコピーが元になるので簡単に実装可能。
DWHの課題
- 実装の費用
- 高コスト(高速なクエリ結果取得に対応するため)
- メンテナンス
- セキュリティ
- 需要を満たすためのスケーリング
AWSのDWHソリューション Amazon Redshift
クラウドベースでスケーラブル・安全なDWH。
- 他のDWHより10倍高速
- セットアップ、デプロイ、管理が簡単
- 安全
- セキュリティ
Amazon Redshift Spectrum
データレイク(構造化データ以外も可能)によってDWH(構造化データのみ)の拡張が可能。
Redshift Spectrumによって、S3データレイクに格納されているデータに対してクエリが可能。
ストレージデータの処理方法
数テラバイトのデータを素早く効率的に処理して後の分析のために保存できるクラウドソリューションとして、Hadoopフレームワークに対応したAmazon EMRがある。
Hadoopの基礎についてはこちらの記事にまとめてあります。
Hadoopのメリット
- 大量のデータを高速分析して応答
- 様々な種類・形式のデータを処理可能
- HiveやPigなど分析ソリューションの選択が可能
- 水平スケーリング(サーバー台数の追加)で処理するデータ量と速度を増大できる
Amazon EMR (Elastic MapReduce)
Hadoopフレームワークを実装するAWSサービス。
- ほぼすべてのデータソースタイプをどのような速度でも取り込める。
- HDFSとEMRFSという2種類のファイルシステム
HDFS
アーキテクチャ
- 多数の仮想サーバー
- データ保存するDataNode (ほとんどこれ)
- データ位置のマップを持つNameNode。
- クライアントはNameNodeに接続し、DataNodeで実際のファイルI/Oを実行。
- クライアントは書き込みリクエストを1度送ると、各ブロックに残り2回コピーが内部的に実行される(NameNodeが場所を把握。)
EMRがHDFSを使用する場合、ファイルシステムはEBSボリュームとして保存される。これはエフェメラルで一時的に使用される。
データがHDFSボリュームにコピーされると、データの変換と分析が実行された結果がS3データレイクやRedshiftに送信される。
EMRFS(EMR File System)
HDFSの代替。HDFSの代わりにS3を使う。
データをクラスターにコピーする必要がなく、S3データレイク内のデータをカタログ化する。コピーの手間と時間を省けるのでクラスターのパフォーマンスが向上できる。
まとめ
ストレージ編は以上です。
また時間のあるときに他の課題もまとめてみようと思います。
- ビッグデータの課題2. データ処理の速度
- ビッグデータの課題3. 多様性のあるデータ構造とタイプ
- ビッグデータの課題4. クレンジングと変換による信憑性担保
- ビッグデータの課題5. レポート作成とBIによる価値創出
参考記事
より詳細を学びたい方は、AWS Trainingをどうぞ。