データウェアハウス でーたうぇあはうす
データウェアハウスDWHRedshiftBigQuerySnowflakeOLAP
データウェアハウスについて教えて
簡単に言うとこんな感じ!
社内の様々なシステムのデータを一か所に集めて、「先月の売上は?」「地域別の利益は?」みたいな経営判断に使う大規模な分析専用DBだよ。「データの倉庫」という名前通り、分析用にデータを蓄積・整理する場所なんだ!
データウェアハウスとは
データウェアハウス(DWH: Data Warehouse)は、組織内の複数のシステムから収集したデータを統合し、ビジネス分析・意思決定に活用するための大規模なデータリポジトリです。OLAP(Online Analytical Processing:分析処理)に最適化されており、トランザクション処理に最適化されたRDB(OLTP)とは異なる設計思想を持ちます。
DWHの主な特徴は列指向ストレージです。通常のRDBは行単位でデータを保存しますが、DWHは列(カラム)単位で保存します。「全ユーザーの購入金額を合計する」という集計クエリでは、購入金額の列だけ読めばよいため、行ごとに読むより何十倍も速く処理できます。
代表的なクラウドDWHサービスはAmazon Redshift(AWS)、BigQuery(Google Cloud)、Azure Synapse Analytics(Azure)、そして独立したクラウドサービスとして普及したSnowflakeです。
DWH の核心概念
| 概念 | 説明 |
|---|---|
| OLAP vs OLTP | 分析処理 vs トランザクション処理。DWHはOLAP向け |
| 列指向ストレージ | カラムごとにデータを格納。集計クエリが高速 |
| スタースキーマ | ファクトテーブル(事実)+ディメンションテーブル(軸)の設計 |
| ETL/ELT | ソースDBからDWHへのデータ抽出・変換・ロード |
| マテリアライズドビュー | 集計結果を事前計算して保存。クエリを高速化 |
| パーティショニング | 日付等でデータを分割し、スキャン量を削減 |
主要クラウドDWHの比較
| 製品 | 特徴 | 課金 |
|---|---|---|
| Amazon Redshift | AWSエコシステムとの親和性・RA3ノード | ノード時間 or Serverless |
| BigQuery | サーバーレス・ML統合・超大規模 | スキャン量課金 |
| Snowflake | マルチクラウド・共有データ | コンピュート秒課金 |
| Azure Synapse | DWH+Sparkの統合分析基盤 | DWU時間 |
歴史と背景
- 1988年 — Bill Inmon(「DWHの父」)がデータウェアハウスの概念を提唱
- 1990年代 — Teradata・Oracle Exadataなどオンプレ専用DWHアプライアンスが普及
- 2010年 — Amazon Redshiftの前身ParAccelをAWSが買収
- 2012年 — Amazon Redshift GA。クラウドDWH時代の幕開け
- 2012年 — Google BigQuery正式公開
- 2014年 — Snowflake創業
- 2020年 — SnowflakeがNASDAQにIPO(史上最大規模)
DWHとデータレイクの位置づけ
関連する規格・RFC
| 規格 | 内容 |
|---|---|
| SQL:2003 以降 | WINDOW関数・ROLLUP等の分析SQL拡張 |
| ANSI SQL OLAP拡張 | CUBE・ROLLUP・GROUPING SETS等の標準化 |
関連用語
- データレイク・データレイクハウス — DWHより柔軟な生データ保存基盤
- RDB(リレーショナルデータベース) — DWHが参照するソースデータのDB
- 時系列DB — センサーデータのDWH取り込み元