はじめに
データウェアハウス (Data Warehouse, 以下DWH) は、ビジネス利用に適した大量のデータを分析しやすく、検索しやすくなるように蓄積した倉庫を指します。
本記事では、データウェアハウスの概要、基本機能、メリットと課題、主要ツールや活用事例を解説します。
DWHの概要
データベースとの違い
データベースは、データの保存や編集など幅広い用途に対応しています。
対して、DWHはデータ分析に特化しています。各システムから時系列でデータを収集し、サブジェクト別に整理することで効率的な分析を実現します。
ビジネスデータが増大し、それらを有効に利用する需要が高まる中、データベースでは課題を解決しきれない場面が増えてきました。これを解決するために、DWHが開発されました。
DWHの基本機能
DWHには満たすべき4つの機能があります
データの統合
DWHは複数の部門のさまざまなアプリケーションから情報を集めます。しかし、集めた情報の内容や保存形式はバラバラであることが多いです。
例えば、異なるシステムで同じ顧客が登録されていると、データの重複が発生します。また顧客の情報を「取引先」として定義しているシステムと「会社名」と定義しているシステムがあったりと、項目の不一致も問題になります。
このような問題を解決するのがデータ統合です。表現の統一や重複の削除などにより、データの整合性を高めます。
データ統合の例としては下記が挙げられます。
- 日付:和暦・西暦の変換、JST・UTCの変換
- 文字列:大文字・小文字、整数・小数などの表記揺れの統一化
- 値:NULL・空、コード体系の統一化
サブジェクト指向
サブジェクトとはデータの項目を指します。「顧客」や「商品」などです。
DWHでは「顧客」「商品」のように分析の軸ごとにデータを集計し、蓄積したデータである「データマート」を作成します。
これにより個々のシステムで保存されているデータを統合し、一つの集約されたデータとして扱えるようになります。
時系列
DWHでは、日々作成されるデータを、その時点のデータ状態として保存します
通常のデータベースでは、最新の状態を重視します。
例えば、ある顧客の会員ポイントの情報を取得する場合、基本的には一番最新の状態の情報のみを取得します。(過去の情報を取得する意味がないから)
一方DWHでは、その顧客が会員になってから現在に至るまでのポイントの推移をすべて保存します。現在の状態だけがわかるのではなく、現在の状態に至る経緯を把握できるため、ビジネスの意思決定に活かしやすくなります。
恒常性
蓄積されたデータは、変更せずに参照可能な状態で永続保存します。原則として、保存したデータは削除できません。これはDWHが過去から現在までのデータを時系列で記録し、履歴として活用するからです。
しかし、DWHのストレージ容量には限りがあります。容量が限界に近づいた場合は、保存期間が古いデータや重要性が低いデータを削除する運用を行うこともあります。
多くの容量が必要となるケースが多いため、クラウドのストレージサービス(AWS S3など)とは相性が良いです。
メリットと課題
メリット
ビジネス意思決定の支援: 統一されたデータにより、インサイトを添える分析が可能になる。
データの統合と一貫性: さまざまなシステムからのデータの統合が可能。
長期的データ利用: 過去データの分析・利用が容易。
課題
初期コスト: 構築に時間や資金がかかる。
データの複雑性: データ源が多様な場合の統合に要求されるスキル。
主要ツール
BigQuery (Google Cloud)
Googleのマネージド・サービスで、高速なクエリを実現するツール。
Redshift (AWS)
Amazon Web Servicesのサービスで、エンタープライズマネージド環境を搭載。
Snowflake
クラウドネイティブツールで、多様なクラウドプラットフォームに対応。
まとめ
データウェアハウスは、ビッグデータを分析する際に欠かせない技術です。
読んでいただきありがとうございました!
参考記事