S3データレイクをAWSの分析サービスを使って有効活用する #AWS-06 #AWSSummit

本記事は、AWS Summit Japan 2021のセッション動画、「AWS-06: 貯めるだけじゃもったいない!AWS 分析サービスを使ったデータレイクの有効活用」のレポート記事です。

「データはとりあえずS3に溜めておけ!」とデータレイクっぽいものは作れたけど上手く使いこなせていない方、それなりにいらっしゃるのではないでしょうか?本セッションでぜひAWSの分析サービスの活用術をおさらいしてみてください。

概要

データの持つ力を活かす方法としてデータレイクがありますが、データレイク上にデータは貯まってきたものの、どう有効活用すればいいか悩んだ経験はないでしょうか?データレイクに存在するデータと分析ツールと組合せ、活用する方法として、“レイクハウスアプローチ”があります。本セッションでは"レイクハウスアプローチ"の考え方を紹介すると共に、どのようなAWSサービスを用いて"レイクハウスアプローチ"が実現するかを紹介します。データレイクにあるデータを有効活用するための手段に悩んでいる方々に、オススメです。

  • 本セッションの対象者
    • データレイクにデータを集められたが、どのように活用していけばいいか悩まれている方
    • データレイクをはじめとするデータ分析基盤を構築・管理するエンジニアの方
  • ゴール
    • データレイクを有効活用するための手段であるレイクハウスアーキテクチャについて理解する
    • データレイクをより効果的に活用するために利用できるAWSサービス・機能を知っていただく
  • 本セッションで話さないこと
    • 本セッション内で登場する個別のAWSサービスの詳細

スピーカー

  • 倉光 怜 氏
    • アマゾン ウェブ サービス ジャパン株式会社 グローバル・オートモーティブ事業本部 ソリューションアーキテクト

内容

  • データレイクとは?
  • レイクハウスアーキテクチャ
    • ①スケーラブルなデータレイク
    • ②ユースケースに応じた分析サービス
    • ③シームレスなデータ移動
    • ④統一されたガバナンス
    • ⑤パフォーマンスと費用対効果
  • BI(Business Intelligence)の再発明
  • まとめ

データレイクとは?

  • 現在のトレンド
    • データの多様化・急拡大
    • 増大する利用者数、広がる利用者層
    • 発展するユースケース
  • → データから大きなビジネス的価値を生み出したいが、これらのトレンドに技術的に対応することが課題
  • → データレイクの登場
    • 規模にかかわらず、すべての構造化データと非構造化データを保存できる一元化されたリポジトリ
    • データをそのままの形で保存できるため、データを構造化しておく必要がない
    • ビジネス要件の変換に柔軟に対応した分析が可能
  • データ活用の全体像におけるデータレイクの役割
    • 構造化、半構造化、非構造化データの取り扱い
    • ペタバイト、エクサバイトにわたる拡張性
    • 様々な分析および機械学習ツールとの連携
    • 低コストなデータの保存と分析

  • 継続的な分析には、データが目的に応じて循環できる必要がある
  • → レイクハウスアーキテクチャ
    • ①スケーラブルなデータレイク
    • ②ユースケースに応じた分析サービス
    • ③シームレスなデータ移動
    • ④統一されたガバナンス
    • ⑤パフォーマンスと費用対効果
  • 本セッションでは、この5つの構成要素に沿って、レイクハウスアーキテクチャを解説

AWSサービスに置き換えると…↓

レイクハウスアーキテクチャ

①スケーラブルなデータレイク

  • AWSのデータレイク = Amazon S3
    • 高い耐久性、可用性、スケーラビリティ
    • 操作性の高さ
      • 数多くの方法でデータを取り込む
      • 様々な分析サービスに対応
    • コスト最適化
      • Intelligent Tiering機能
      • アーカイブを含むコールドストレージに対応
    • セキュリティ
      • オブジェクトレベルのアクセス制御
      • コンプライアンス、監査に対応

②ユースケースに応じた分析サービス

  • パフォーマンス、コスト、スケール、ユースケースに沿った最適な分析サービスを選択
    • Amazon EMR: ビッグデータ処理
      • Spark、Hadoop、Hive、Presto、HBaseなど、ビッグデータフレームワークを簡単に実行可能
      • 最新版のオープンソースフレームワークが30日以内で利用可能
      • スポットインスタンスやリザーブドインスタンスを利用することにより、50–80%のコスト削減が可能
      • EMRFSを利用して、Amazon S3に存在するデータに対して、セキュアかつ高いパフォーマンスで処理
      • クラスターのセットアップ、ノードのプロビジョニング、クラスターのチューニングをフルマネージドで提供
      • ワークロードの需要に合わせて垂直および水平にオートスケーリング
    • Amazon Redshift: データウェアハウス
      • データレイクとシームレスに大規模データ分析
      • 他のクラウドDWHよりも3倍優れたコストパフォーマンス
      • 他のクラウドDWHよりも少なくとも50%安価
      • ここ数年で、顧客のニーズに合わせた機能強化
    • Amazon Athena: 対話的なクエリ
      • サーバーレスで対話的なクエリ実行サービス
      • セットアップに伴うコストなし
      • Amazon S3に対してクエリを実行
      • 実行されたクエリに対してのみ課金
      • データ圧縮などの工夫により、クエリごとのコストを30%〜90%節約
      • ANSI SQL、JDBC、ODBCドライバ対応
      • 様々なフォーマット、圧縮タイプ、および複雑なジョイン、データ型に対応
      • インフラストラクチャの管理不要
      • Amazon QuickSightと統合
    • Amazon Kinesis & Amazon MSK: リアルタイム分析
      • Amazon Kinesis Data Streams: ストリーミングデータをスケーラブルに収集、保存してリアルタイム分析に活用
      • Amazon Kinesis Data Firehose: ニア・リアルタイムにデータストリームを収集して、データストアと分析サービスにロード
      • Amazon Kinesis Data Analytics: SQL、Apache Flink、Apache Beamを使用してストリームデータを分析
      • Amazon Kinesis Video Streams: メディアからのストリームデータをキャプチャ、処理、保存し、再生や分析、機械学習に活用
      • Amazon MSK: Apache Kafkaを使用してストリーミングデータを処理するアプリケーションを構築、実行

③シームレスなデータ移動

  • データパイプライン: 一般的な複数データストア間でのデータ移動
    • データストアからターゲットまでデータを流すまで、複雑なアプリケーションコーディングやリトライ処理の考慮が必要
    • データパイプラインの管理や、それに伴うETLの専門家が必要

  • AWS Glue
    • シンプルでスケーラブルなサーバーレスデータ統合プラットフォーム
    • データの準備を数ヶ月から数分に短縮
    • 何千ものETLジョブを簡単に実行、管理可能
    • ジョブ実行で使われたリソースに対してのみ支払い
  • Glueの基本構成
    • データストアからターゲットまでのデータ移動をサポート
    • クローラーでデータソースのスキーマを検出
    • データカタログにメタデータを保存
    • サーバレスエンジンで、Apache SparkやPythonを実行し、ターゲットに出力

  • AWS Glue Studio: ETLディベロッパー向け
    • コードを記述せずに、ETLジョブを視覚的にオーサリング
    • コンソールから数千のジョブを監視
    • 学習コストなしに分散学習を活用
    • 再利用可能なコードを使った高度な変換
  • AWS Glue DataBrew: ビジネスアナリスト・データサイエンティスト向け
    • リッチなビジュアルインターフェイスでデータを整形・正規化
    • 250以上の組み込み変換機能を選択し、タスクを自動化
    • データパターンと異常値を把握するためのデータプロファイル機能
    • 大規模なデータセットを操作可能
  • AWS Glue Elastic Views (PREVIEW)
    • 複数データストア間でデータを簡単に組み合わせて処理を実行
    • SQLを使用して、様々なデータベースやデータストアでマテリアライズドビューを作成
    • ソースデータベースの変更を継続的に監視し、数秒以内にターゲットを更新
    • サーバーレス: ワークロードに応じて自動でスケールアップ、スケールダウン
    • カスタムコードなしで、データのコピーや結合など手間のかかる処理を実行

  • Federated Query on Redshift & Athena
    • データウェアハウスおよびAmazon S3とデータベースを統合するクエリを実行
    • データ移動やETLによる遅延なしでデータベース上のデータが分析可能
    • 複雑なETLパイプラインを使わず、データを取り込むための柔軟かつ簡単な方法

  • Amazon Redshift Spectrum
    • Amazon S3に保存されているデータに直接クエリを実行
    • Parquet、ORC、Avro、JSON、CSVフォーマットが利用可能
    • 大規模データで利用可能で、 使用した分だけ料金を支払う
    • ※Amazon Athenaとは異なり、Redshiftクラスタのホスティングが必要

  • Amazon Redshift: Data lake export
    • Parquet形式でのAmazon RedshiftからAmazonS3へのデータエクスポートをサポート
    • UNLOADされたデータは、AWS Glueデータカタログに自動的で登録

④統一されたガバナンス

  • 典型的なデータレイク構築までの流れ
    • S3などのストレージをセットアップし、データを移動
    • 必要に応じて、データを整形、準備、カタログ化
    • 適切な人にデータが提供できるように、セキュリティとコンプライアンスのポリシーを設定、適用
    • → データ分析が利用可能に

  • セキュリティとガバナンスにおける課題
    • データセキュリティ
      • 機密データのマスキングや暗号化処理
      • GDPRなどコンプライアンス要件への対応
    • アクセスコントロール
      • データへのきめ細やかなアクセス制御(どのユーザーにどのデータへのアクセスを許可するか)
      • 行レベルセキュリティ
    • 監査
      • ログ記録
      • 証跡管理
  • AWSにおけるセキュリティ・ガバナンス
    • 利用するサービスのAWS IAMの設定や、Amazon S3、AWS Glueデータカタログを組み合わせてアクセス制御
    • → 利用するサービスやユーザーが増えるほど、設定や管理が複雑化

  • AWS Lake Formation
    • AWS Glueを拡張したサービス
    • 一貫したユーザーアクセス制御が可能
    • アクセスコントールによる、きめ細かい権限設定によるセキュリティ強化
      • セキュリティ、ガバナンス、監査を、一貫したポリシーで一元管理
      • セキュリティ、ストレージ、分析、機械学習サービスとの統合
      • データベース、テーブル、列に対する権限
    • データ取り込みと整形処理が簡素化されている(ブループリント)ため、素早くデータレイクを構築可能

⑤パフォーマンスと費用対効果

  • パフォーマンスとコストに関する継続的な取組み
  • Amazon Redshift
    • 他のDWHと比べて3倍のコストパフォーマンス
    • パフォーマンスチューニングの自動化とワークロードに応じた線形的なスケーリング
  • Amazon EMR
    • 高いコストパフォーマンスの提供を目指した最適化されたランタイム
    • 標準的なApache Sparkより1.7倍高速、標準的なPrestoよりも2.6倍高速
  • Amazon S3
    • Amazon S3 Selectはオブジェクトデータのサブセットを取得することで、クエリパフォーマンスを最大400%向上
    • Amazon S3 Intelligent-Tieringによりデータレイクのストレージコストが最大40%削減
  • AWS全体
    • Graviton2インスタンスを利用することで通常ワークロードの25.7%以上コストを削減
    • 200以上のインスタンスタイプからワークロード に合わせて最適なものを選択
    • 100Gbps帯域幅を備えたネットワークインターフェース
    • オンデマンド、リザーブド、スポットなど様々なインスタンス購入オプションを用いてコストを削減
  • パフォーマンス向上のためのデータへの工夫
    • 分析に特化したファイルフォーマットに変換する
    • ワーカーが分散処理しやすいよう、大量のファイルをある程度集約する
    • S3パーティショニングによるデータ配置の最適化
    • S3ライフサイクルによるデータ量削減

BI(Business Intelligence)の再発明

  • Amazon QuickSight
    • 利用した分だけ課金
    • サーバーレスでグローバルに大規模展開
    • AWS内のデータにセキュアにアクセス
    • ユーザやコンテンツをSDK/APIで管理
    • 内蔵済みの機械学習機能による異常検知と予測

まとめ

最新のアップデートが一覧化されています。

  • レイクハウスアーキテクチャ
    • データレイクを中心に据え、AWSの分析サービスを用いて、データを循環させる
    • 必要な時に必要な分のデータを取り出し分析を行う
  • ユースケースに応じて、目的に合わせた分析サービスを選択する
  • パフォーマンス、コスト最適化も重要だが、データを守るための施策
    • セキュリティやガバナンスを意識した設計を行う