データレイク
構造化・非構造化データを生の形式で大量に保存し、後から分析・加工するストレージ基盤
データレイクとは
データレイク (Data Lake) は、構造化データ (CSV, JSON)、半構造化データ (ログ)、非構造化データ (画像, 動画) を生の形式で大量に保存し、後から分析・加工するストレージ基盤である。データウェアハウスが「スキーマを定義してからデータを投入」するのに対し、データレイクは「まずデータを保存し、分析時にスキーマを適用」する。
データウェアハウスとの比較
データウェアハウスとの主な違いを以下に比較する。
| 観点 | データレイク | データウェアハウス |
|---|---|---|
| スキーマ | Schema-on-Read | Schema-on-Write |
| データ形式 | 生データ (何でも) | 構造化データのみ |
| ストレージ | S3 (安価) | Redshift (高価) |
| 用途 | 探索的分析、ML | BI、定型レポート |
| データ品質 | 低い (生データ) | 高い (ETL 済み) |
AWS でのデータレイク
AWS でのデータレイクを図で示す。
[データソース]
DynamoDB Streams → Kinesis Firehose → S3 (Raw)
CloudWatch Logs → Kinesis Firehose → S3 (Raw)
外部 API → Lambda → S3 (Raw)
[S3 データレイク]
s3://data-lake/raw/ ← 生データ
s3://data-lake/processed/ ← ETL 済みデータ
s3://data-lake/curated/ ← 分析用データ
[分析]
Athena → SQL でアドホッククエリ
Glue → ETL ジョブ
Redshift Spectrum → S3 のデータを Redshift から直接クエリ
SageMaker → 機械学習
Athena で S3 を直接クエリ
Athena で S3 を直接クエリの例を示す。
-- S3 上の JSON ファイルを SQL でクエリ (サーバーレス)
CREATE EXTERNAL TABLE orders (
order_id STRING,
user_id STRING,
amount DOUBLE,
created_at TIMESTAMP
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://data-lake/raw/orders/';
SELECT user_id, SUM(amount) as total
FROM orders
WHERE created_at > DATE '2026-01-01'
GROUP BY user_id
ORDER BY total DESC
LIMIT 10;
データレイクのアンチパターン: データスワンプ
データレイクにデータを投入するだけで、カタログ化やガバナンスを行わないと「データスワンプ (データの沼)」になる。
| 問題 | 対策 |
|---|---|
| どのデータがどこにあるか分からない | Glue Data Catalog でメタデータ管理 |
| データの品質が不明 | Glue DataBrew でプロファイリング |
| アクセス制御がない | Lake Formation で権限管理 |
| 重複データが大量にある | パーティショニングとライフサイクルポリシー |
パーティショニング
パーティショニングを図で示す。
s3://data-lake/orders/year=2026/month=03/day=15/data.parquet
日付でパーティショニングすることで、Athena のスキャン量を削減しコストを抑える。
基礎から学ぶなら関連書籍が手がかりになる。
この記事は役に立ちましたか?
関連用語
データウェアハウス
分析用に最適化された大規模データストアで、複数のデータソースを統合して意思決定を支援する
Athena
S3 上のデータを標準 SQL で直接クエリできる AWS のサーバーレス分析サービス
AWS Glue
AWS のサーバーレス ETL サービスで、データの抽出・変換・ロードとデータカタログ管理を提供する
Redshift
AWS のペタバイト規模のデータウェアハウスサービスで、大量データの分析クエリを高速に実行する
OLAP vs OLTP
オンライン分析処理 (OLAP) とオンライントランザクション処理 (OLTP) の違いと使い分け
データサイエンス
統計学・プログラミング・ドメイン知識を組み合わせ、データから価値を生み出す学問領域
関連する記事
データベース本ガイド - SQL から設計まで学べる技術書の選び方
データベースの基礎から設計、パフォーマンスチューニングまで学べる技術書の選び方と学習順序を紹介します。
本についてくるダウンロード素材を使い倒す
プログラミングの本には、サンプルコードや素材のダウンロード特典がついていることがあります。この特典を活用するだけで、学習効率が大きく変わります。
機械学習・AI 本ガイド - エンジニアが読むべき技術書の選び方
機械学習の基礎から実践まで学べる技術書の選び方を紹介。「Python ではじめる機械学習」などのハンズオン本を軸に、数学が苦手な人向けの学習ルートと ML 本の賞味期限の見極め方を解説します。