導入
売上データ、アクセスログ、センサーの記録、問い合わせの文章——形式もバラバラなデータをまとめて置いておき、必要になったときに取り出して分析する。その「大きな貯水池」がデータレイクです。
説明
データレイクとは、構造化データ(表形式)も非構造化データ(画像・ログ・文章)も加工せずそのまま貯めておく保管場所です。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で見せる」。この一本道を頭に入れておくと、分析サービスの名前が出てきたときに位置づけが分かります。