データウェアハウス

分析用に最適化された大規模データストアで、複数のデータソースを統合して意思決定を支援する

データ分析アーキテクチャ

データウェアハウスとは

データウェアハウス (DWH) は、分析用に最適化された大規模データストアで、複数のデータソース (業務 DB、ログ、外部データ) を統合し、BI (Business Intelligence) や意思決定を支援する。OLTP (業務処理) 用の DB とは異なり、OLAP (分析処理) に特化している。

OLTP vs OLAP

OLTP と OLAP の違いを以下にまとめる。

観点OLTP (業務 DB)OLAP (DWH)
用途注文処理、ユーザー管理売上分析、レポート
クエリ単一行の CRUD大量データの集計
データモデル正規化 (3NF)非正規化 (スタースキーマ)
レイテンシミリ秒秒〜分
データ量GB〜TBTB〜PB
AWS サービスRDS, DynamoDBRedshift, Athena

スタースキーマ

DWH ではスタースキーマ (ファクトテーブル + ディメンションテーブル) でデータをモデリングする。

          [日付ディメンション]
                |
[商品ディメンション][売上ファクト][顧客ディメンション]
                |
          [店舗ディメンション]

ファクトテーブルに数値データ (売上金額、数量)、ディメンションテーブルに属性データ (商品名、顧客名) を格納する。

ETL パイプライン

ETL パイプラインを図で示す。

[データソース] → Extract → Transform → Load → [DWH]

DynamoDB  ─┐
RDS       ─┤→ Glue (ETL) → S3 (データレイク) → Redshift (DWH)
CloudWatch ─┘                                  → Athena (アドホック分析)

Extract (データソースから抽出) には DMS や Glue、Transform (クレンジング、変換、集計) には Glue や Lambda、Load (DWH にロード) には Redshift COPY や Firehose を使用する。

AWS での DWH 選択

定常的な分析ワークロードにはノード時間課金の Redshift、可変ワークロードには RPU 課金の Redshift Serverless、アドホッククエリにはスキャンデータ量課金の Athena、データレイク分析には Athena + S3 が適している。少量・低頻度なら Athena + S3、大量・高頻度なら Redshift。

データレイクとの違い

データレイクとの違いを以下にまとめる。

観点データウェアハウスデータレイク
データ形式構造化 (スキーマ定義済み)構造化 + 非構造化 (生データ)
スキーマSchema-on-WriteSchema-on-Read
用途BI、定型レポート機械学習、探索的分析
AWSRedshiftS3 + Glue + Athena

データウェアハウスの関連書籍も参考になる。

この記事は役に立ちましたか?

関連用語

関連する記事