メインコンテンツへジャンプ

データウェアハウスアーキテクチャ

すべて/データウェアハウスアーキテクチャ:選択における課題とトレードオフ

header image

データウェアハウスアーキテクチャとは?

データウェアハウスは、複数のソースから取得した最新データと履歴データをビジネスに適した形で保存・整理し、インサイトやレポートに活用するデータ管理システムです。

データウェアハウスとデータベースは異なります。データウェアハウスはBIや分析に特化した構造化リポジトリであり、一方データベースはテキストや数値に限らず、画像や動画なども含む構造化データの集合体です。

データウェアハウスアーキテクチャとは、データウェアハウスの構成、構造、実装方法を決定するフレームワークであり、そのコンポーネントやプロセスも含みます。

“Building the Data Warehouse” の著者であり、この分野を切り開いたビル・インモンによれば、データウェアハウスアーキテクチャとは「経営の意思決定を支援する、主題志向・統合・時系列・非可変のデータの集合」と定義されています。

具体例は以下の通りです: 

  • 主題志向(Subject-oriented) — 販売、マーケティング、流通など特定のビジネステーマに基づいてデータを整理・構造化

  • 統合(Integrated) — 複数ソースからデータを統合し、一貫した形で保持

  • 時系列(Time-variant) — 履歴スナップショットを保持し、経時的な変化やトレンド分析を可能にする

  • 非可変(Nonvolatile) — データは読み取り専用で上書きされず、履歴がそのまま保持されるため分析に信頼性を担保

具体的な例は以下のページで確認できます

データウェアハウスアーキテクチャを使用する場合はどのような場合がありますか?

効果的なアーキテクチャは、POS、在庫管理、マーケティングや営業DBなど業務システムから統合されたデータを迅速・容易に分析可能にします。よく設計されたDWHのデータは一貫性があり、効率的に保存され、アクセスも容易で意思決定を強化します。

DWHはBI、分析、レポート、データアプリケーション、MLの前処理、データ分析に不可欠です。現代のDWHは非構造データ(画像やテキストなど)もサポートし、AIを組み込んで高度な分析や自動化も可能です。

ユースケースの例: 

  • 顧客セグメンテーション

  • 財務報告

  • 履歴トレンド分析

  • サプライチェーン最適化

  • 営業・マーケティング成果分析

また、トランザクションDBでは直接扱いにくい分析も支援します。例えば、製品カテゴリごとに営業担当者が月ごとに生み出した売上を分析する、といったケースです。

データウェアハウスアーキテクチャタイプ

DWH アーキテクチャは目的や構造により異なります。

Tier 1
このシンプルな形式では、データウェアハウスはすべてのデータの一元化されたリポジトリとして機能し、分析とクエリのためのプラットフォームとして機能します。単一階層のデータウェアハウスアーキテクチャは、限られた数のデータソース、シンプルなレポートニーズ、および予算の少ない小規模組織に適しています。 

Tier 2
このモデルは、ソースシステムをデータウェアハウスから分離し、2つの階層を作成します。データウェアハウスは、ストレージとクエリの両方のためのプラットフォームです。 2 階層アーキテクチャは、拡張性とパフォーマンスの向上を実現し、シングル階層アーキテクチャよりも複雑な変換を可能にします。 

Tier 3
3階層のデータウェアハウスアーキテクチャでは、下位階層はデータソースとデータストレージ、データアクセス方法、およびデータの取り込みまたは抽出から構成されます。中間層はオンライン分析処理(OLAP)サーバです。最上位階層には、クエリ、BI、ダッシュボード、レポート、および分析のためのフロントエンドクライアントが含まれます。これは最も複雑なタイプのデータウェアハウスアーキテクチャであり、ハイパフォーマンスとスケーラビリティを提供し、分析ツールと統合し、複雑なクエリと分析をサポートします。

データウェアハウスのレイヤー

データウェアハウスのアーキテクチャは階層構造に基づいており、データの効率的なフロー、変換、消費を促進し、分析や意思決定を支援します。各階層は、データがビジネスのニーズに合致することを保証する役割を果たします。

Source layer 
Source layerはデータウェアハウスアーキテクチャの基盤であり、データの入口です。POS、マーケティングオートメーション、CRM、ERP システム、サードパーティソースなどから取得した生データを含みます。

Staging layer 
Staging layerは、データを一時的に保存し、統合・クレンジング・変換を行って、効率的にウェアハウスへロードできるよう準備します。ソース層とウェアハウス層のバッファとして機能し、ソースデータに含まれるエラーを後続処理の前に修正します。

Warehouse layer 
処理済み・クレンジング済み・構造化されたデータを長期的に保存する階層です。クエリや分析に最適化されたスキーマとして整理され、データリネージュやアクセス制御などのガバナンスポリシーを適用してデータの完全性とセキュリティを維持します。

Consumption layer 
Consumption layerは、データをビジネスユーザーが利用できるようにします。BI ツール、ダッシュボード、データ可視化プラットフォーム、APIなどが含まれ、ユーザーフレンドリーなインターフェースを提供します。この階層のデータは、要約テーブルやキューブとして事前集計され、高速クエリを可能にします。

データウェアハウスのコンポーネント

データウェアハウスアーキテクチャは、シームレスなデータ管理と分析を実現するための主要コンポーネントで構成されます。中核コンポーネントにはデータレイクハウスアーキテクチャ、データ統合ツール、メタデータ、データアクセスツールが含まれます。

データレイクハウスアーキテクチャ(Data lakehouse architecture)
データレイクハウスは、あらゆる種類のデータを保存・処理するための統合プラットフォームであり、データレイクの柔軟性と従来のウェアハウスの管理機能を兼ね備えます。構造化・非構造化データの両方を処理し、SQL 分析から機械学習までをサポートします。

データ統合ツール(Data integration tools)
直接統合(ETL、ELT、リアルタイム処理など)やデータ仮想化(フェデレーションによる分散ソースからの統合ビュー提供)をサポートします。自動化やオーケストレーション、データ品質強化とも連携します。

メタデータ(Metadata) 
メタデータとは「データに関するデータ」であり、出所、変換、構造、関係、利用状況などの文脈を提供します。技術的メタデータ(スキーマ、データ型、リネージュ)とビジネスメタデータ(非技術ユーザー向けの意味付け)があります。

データアクセスツール(Data access tools)
ユーザーがデータウェアハウス内のデータをクエリ・分析・可視化するための橋渡しとなるツールです。レポーティングソフト、BIプラットフォーム、OLAP、データマイニング、開発ツール、APIなどが含まれます。

組み込み AI/ML 機能(Embedded AI and ML capabilities)
モダンなDWHにはAI/MLが組み込まれており、自動処理、パターン検出、異常検出、予測分析を直接実行可能です。

インタラクティブダッシュボード(Interactive dashboards)
リアルタイムのデータインサイトを提供し、ユーザーがセルフサービスで可視化・探索・分析を行えます。

ガバナンスフレームワーク(Governance framework)
データアクセス制御、セキュリティポリシー、コンプライアンス、品質基準を統合的に管理します。リネージュ追跡、監査ログ、プライバシー保護、規制対応などを含みます。

データウェアハウジングの設計思想:Inmon vs. Kimball

データウェアハウジングの初期のリーダーである Bill Inmon と Ralph Kimball は、それぞれ異なる設計アプローチを提唱しました。Inmonのアプローチは、企業全体のデータを集中管理するデータウェアハウスを起点とし、「トップダウン型」として知られています。一方、Kimball のモデルは「ボトムアップ型」と呼ばれ、まず特定の事業部門や部署向けの専門データベース(データマート)を作成し、それを統合して大規模なデータウェアハウスを構築することに重点を置きます。

Inmon アプローチ
Inmonのトップダウンモデルは、企業全体にまたがる集中型データウェアハウスを構想し、組織全体にとって「唯一の真実のソース」として機能します。このアプローチでは、ソースシステムからデータを抽出し、クレンジングした後、中央データウェアハウスに正規化された形式で保存します。正規化によってデータの一貫性が確保され、冗長性が最小化され、多様なデータセット間での統合が容易になります。特定のビジネス領域に焦点を当てたデータマートは、この中央リポジトリから派生して作成されるため、全社的なデータアーキテクチャとの一貫性が保証されます。

Kimball アプローチ 
Kimballのボトムアップ手法は、特定のビジネス課題やレポート要件に直接対応するデータマートの構築に焦点を当て、それらを統合してデータウェアハウスを形成します。Kimballのアプローチでは「ファクトテーブル」(数値指標を含む)と「ディメンションテーブル」(説明的属性を含む)から成る次元モデリングを採用し、しばしばスタースキーマ構造を取ります。これによりクエリや分析が簡略化されます。データは非正規化されるため、設計の初期段階が迅速に進みます。また、全社的ではなく個別のビジネス領域に焦点を当てるため、必要なデータベース容量は少なく、システム管理が容易になります。

適切なアプローチの選択(Choosing the right approach) 
組織は、自社のニーズに最も適したデータウェアハウスアーキテクチャを選択する必要があります。必要に応じてInmonとKimballのアプローチを組み合わせた「ハイブリッドモデル」を採用する場合もあります。

一般的に、Inmonアプローチは大規模で企業全体にわたるデータセットを管理するための包括的かつスケーラブルな解決策を提供します。組織全体で一貫性のある信頼性の高い分析を可能にし、洗練されたインサイトを得られる一方で、データ品質やガバナンスを重視します。ただし、高度で専門的なクエリや分析ツールが必要であり、データウェアハウスを構築するには多大な時間・リソース・技術的専門知識への投資が求められます。

対照的に、Kimballアプローチは柔軟で迅速なデータ提供を実現します。エンドユーザーは、馴染みのあるツールやセルフサービスモデルを利用して、データマートから直接クエリや分析を行うことができ、専門スキルを持たないユーザーでも容易に探索・分析が可能です。ユーザーフレンドリーで迅速なレポートや分析を求める場合、あるいは予算やリソースが限られている場合には、Kimballの手法が適していると言えます。

データウェアハウスの構造化

組織は、データウェアハウス内のインデックスやテーブルなどのオブジェクトを用いた論理的な配置を「スキーマ」で表現します。これらのスキーマは、データをどのように保存・管理するかの設計図として機能し、用語や関係性の定義、その配置方法を含みます。企業はデータウェアハウスを構造化するために、主に次の3種類のスキーマを利用します。

スター・スキーマ(Star schema)
スター・スキーマは、多次元データモデルであり、データを理解しやすく分析しやすい形でデータベースに整理します。スター・スキーマは最も単純なデータウェアハウススキーマで、大規模データセットのクエリに最適化されています。中央に1つのファクトテーブルがあり、複数のディメンションテーブルと接続されます。スター・スキーマにより、ユーザーはデータを自在に切り分けて分析でき、通常は2つ以上のファクトテーブルとディメンションテーブルを結合して利用します。

スター・スキーマでは、ビジネスデータを非正規化して「ディメンション」(例:時間、製品)と「ファクト」(例:取引額や数量)に変換します。非正規化されたデータモデルは冗長性(データの重複)が増える一方で、クエリ性能を高速化できるという利点があります。

スノーフレーク・スキーマ(Snowflake schema)
スノーフレーク・スキーマはスター・スキーマを拡張したもので、ディメンションテーブルをさらに細分化し、サブディメンションに分けます。これによりデータモデルはより複雑になりますが、特定のデータタイプでは分析者にとって扱いやすくなる場合があります。

スター・スキーマとスノーフレーク・スキーマの主な違いは、スノーフレーク・スキーマがデータを正規化する点です。正規化を徹底するため、ストレージ効率は高まりますが、クエリ性能は非正規化モデルに比べて劣ります。スノーフレーク・スキーマは、OLAP データウェアハウス、データマート、リレーショナルデータベースでの BI やレポート用途によく用いられます。

ギャラクシー・スキーマ(Galaxy schema)
ギャラクシー・スキーマは、1つのファクトテーブルしか利用しないスター・スキーマやスノーフレーク・スキーマとは異なり、複数のファクトテーブルを共通の正規化されたディメンションテーブルで結びつけます。相互にリンクされた正規化構造を持ち、冗長性や不整合をほぼ排除します。

ギャラクシー・スキーマは、高いデータ精度とデータ品質で知られており、効果的な分析・レポーティングの基盤を提供します。そのため、複雑なデータベースシステムに適した強力な選択肢となります。

データウェアハウスアーキテクチャの課題

データウェアハウスアーキテクチャの設計と維持には、効率性や有効性に影響を与えるいくつかの課題が存在します。

非構造化データ(Unstructured data)
画像、動画、テキストファイル、ログなどの非構造化データは、新しいパターンや洞察を発見する機会を生み出すため、改善・革新・創造性において重要です。しかし、従来型のデータウェアハウスアーキテクチャは構造化データを前提に設計されており、非構造化データから価値を引き出すには高度なツールが必要です。さらに、その膨大なデータ量は、保存や効率的な管理にも課題をもたらします。

スケーラビリティ(Scalability)
組織の成長に伴い、データ量の爆発的な増加はアーキテクチャの拡張性に課題をもたらします。従来のオンプレミスシステムは、大規模データセットや高負荷クエリ、リアルタイム処理に対応するのが難しい場合があります。クラウドベースのDWHは弾力的なスケーラビリティを提供しますが、リソースとコストの最適化には綿密な計画が必要です。

コスト(Cost)
データウェアハウスの構築と維持には、インフラや専門人材への多大な投資が必要です。オンプレミス型は初期構築が高額であり、クラウド型は運用コストが高くなる場合があります。データ量の増加、ユーザー需要の拡大、高度な分析や AI 機能の統合に伴ってコストはさらに上昇します。

性能と効率(Performance and efficiency)
DWHの性能と効率は、大規模データや複雑なクエリを扱うビジネス運用にとって極めて重要です。クエリ応答の遅延や非効率なデータ処理パイプラインは、生産性を低下させ、意思決定を妨げます。最適な性能を達成するには、システム設計や管理の複雑性を高める必要がある場合があります。

非技術ユーザーによる利用(Nontechnical usage)
非技術ユーザーもデータへアクセスし分析する必要がありますが、従来のDWHではSQLや専門ツールの知識が求められます。そのため、ユーザーはデータチームにリクエストを出し、データが提供されるのを待つ必要があり、非効率なボトルネックや遅延を引き起こします。特に大規模組織ではこの問題が顕著になります。

AI/ML の分離システム(Separate systems for AI and ML)
従来の DWH は履歴レポート、BI、クエリなどの標準的な用途に設計されており、ML ワークロードをサポートしていませんでした。DWHとAI/ML専用環境間でデータを転送する追加パイプラインは、複雑性とレイテンシを増加させます。AI/ML機能をDWHに直接統合するか、ハイブリッドプラットフォームを活用することで、この課題に対応できます。

BI の分離システム(Separate systems for BI)
従来型アーキテクチャでは、BIや分析のために別システムを必要とし、データサイロを生み、システム間のデータ移動を複雑化させます。この分離はデータの不整合、メンテナンスコストの増加、インサイト提供の遅延につながります。データ保存とBI機能を統合したモダンなプラットフォームは、分析ワークフローを効率化し、データの一貫性を保証します。

データガバナンスの分離システム(Separate systems for data governance)
データガバナンスが分断されていると、一貫したポリシー、アクセス制御、コンプライアンス基準の維持が困難になります。ガバナンスツールが相互に連携できず、セキュリティ脆弱性やコンプライアンスリスクが生じます。データプラットフォーム内に統合されたガバナンスフレームワークを導入することで、ポリシーの一貫した適用とコンプライアンス管理の簡素化が可能となります。