[レポート] ANT316 : 効率的なデータレイク: データレイクデザインパターン #reinvent

AWS re:Invent 2018 ANT316 - Effective Data Lakes: Challenges and Design Patternsのセッションレポートです。

以下、公式の概要です。

Data lakes are emerging as the most common architecture built in data-driven organizations today. A data lake enables you to store unstructured, semi-structured, or fully-structured raw data as well as processed data for different types of analytics—from dashboards and visualizations to big data processing, real-time analytics, and machine learning. Well-designed data lakes ensure that organizations get the most business value from their data assets. In this session, you learn about the common challenges and patterns for designing an effective data lake on the AWS Cloud, with wisdom distilled from various customer implementations. We walk through patterns to solve data lake challenges, like real-time ingestion, choosing a partitioning strategy, file compaction techniques, database replication to your data lake, handling mutable data, machine learning integration, security patterns, and more.

スピーカーは EMR Solutions Architect の Radhika Ravirala さんと Solutions Architect の Moataz Anany さんでした。

動画

スライド

レポート

なぜデータレイクが必要かというところから始めて、データレイクにおけるよくある質問とその回答やデータレイクを構築する際のデザインパターンの紹介でした。

アジェンダ

  • Why a Data Lake?
  • Data Lake concepts
  • Common asks and challenges
  • Data Lake design patterns
  • Security and governance patterns
  • Q & A

Why a Data Lake?

  • AWSにおけるデータレイク関連サービス
  • コンピュートレイヤーとデータ&メタデータレイヤーに分かれる
  • データレイクのコンセプト

Data Lake concepts

  • Tier1: データレイクにデータを貯める。生データをS3に入れる
  • Tier2: データレイクで分析する。Parquet/ORCに変換する
  • Tier3: データレイクで分析する。ドメインのメタデータを付与したり、利用者に合わせてデータを加工しておく
  • データウェアハウス

Common asks and challenges

よくある質問の列挙。これらについて次のData Lake design patternsで解説する。

Data Lake design patterns

  • クリックストリームやIoTセンサーデータのログ分析の場合のパターン
  • 大量データを受け取るパターン
  • データベースレプリカを置き換える場合のパターン
  • 機械学習でバッチトレーニングするパイプラインのパターン
  • 機械学習でストリーミングデータの予測をするパターン
  • デザインパターンにおける原則
  • どのようにパーティション用のカラムを選択するか
  • 変化するデータの提供方法
  • データレイクの最適化

Security and governance patterns

  • データレイクのセキュリティはデータストレージとメタデータの2箇所
  • データストレージのセキュリティはS3や各種AWSリソースの権限制御を利用する
  • メタデータのセキュリティはGlueのデータカタログを利用する
  • AWS Lake Formation

Q & A

聞き取れた範囲のQAについて記載しておきます。

Q. いつHBaseを利用するのか?

DynamoDBでも扱えないようなビッグデータを扱う場合に利用する。

Q. Presto on EMRでテーブルレベルの権限制御をするにはどうすればいいの?

Glueのデータカタログでできるよ。Hiveのデータカタログ使ってるのであれば危険だから止めたほうがいいよ。

最後に

非常に分かりやすくまとまっていて、データレイクを扱う際はまず最初に確認する資料だと思いました。特にデザインパターンの部分はパターンごとに最初に考えるような構成の問題点を指摘した上で、対応するパターンを提示しており非常にわかりやすかったと思います。すばらしいセッションと言うかスライドだと思いました。