本文へスキップ
BecomeCoder

AWSコース · 第11章 データ分析 ― 貯めたデータを価値に変える · レッスン55

データレイクと分析の全体像

導入

売上データ、アクセスログ、センサーの記録、問い合わせの文章——形式もバラバラなデータをまとめて置いておき、必要になったときに取り出して分析する。その「大きな貯水池」がデータレイクです。

説明

データレイクとは、構造化データ(表形式)も非構造化データ(画像・ログ・文章)も加工せずそのまま貯めておく保管場所です。AWSではその置き場所として Amazon S3 を使うのが定番です。容量が事実上無制限で、耐久性が高く、多くの分析サービスが直接S3を読めるからです。

これに対し、データウェアハウス(第5章のRedshift)は、あらかじめ形を整えたデータを集計・分析のために貯める場所です。両者は対立するものではなく、「まずレイクに貯め、分析用に整えたものをウェアハウスへ」という流れで併用します。

データレイク(S3)データウェアハウス(Redshift)
入れるデータ生のまま・形式は問わない分析用に整形・構造化したもの
決めるタイミング読むときに構造を決める入れる前に構造を決める
得意なこととりあえず全部貯める・機械学習の材料高速な集計・BIレポート

データを分析できる形に整える作業をETL(Extract・Transform・Load=抽出・変換・書き出し)と呼び、これを担当するのがAWS Glueです。Glueはサーバーレスで動くETLサービスで、データの場所と形式の目録(データカタログ)を自動で作る機能も持ちます。さらに、データレイクの構築とアクセス権限の管理をまとめて面倒みてくれるのが AWS Lake Formation です。

flowchart LR
    Src["アプリ / ログ / 業務DB"] --> Lake["S3(データレイク)"]
    Lake --> Glue["Glue(ETL・データカタログ)"]
    Glue --> Ath["Athena(その場で問い合わせ)"]
    Glue --> Red["Redshift(データウェアハウス)"]
    Red --> QS["QuickSight(グラフで見せる)"]
    Lake -. 権限とレイク構築 .- LF["Lake Formation"]

読んでみよう

「生のまま貯めるS3のデータレイク → Glueで整える → AthenaやRedshiftで調べる → QuickSightで見せる」。この一本道を頭に入れておくと、分析サービスの名前が出てきたときに位置づけが分かります。