DWH(データウェアハウス)とは?DBやBIとの違いから基本を理解しよう
今回は、DWHとはどのようなもので、何が特徴なのかを基本から説明していきます。併せて、混同されやすいDBやBIといった用語との違いについても取り上げるので、知識の整理に役立ててください。
今回は、DWHとはどのようなもので、何が特徴なのかを基本から説明していきます。併せて、混同されやすいDBやBIといった用語との違いについても取り上げるので、知識の整理に役立ててください。
知識・情報
2022/09/22 UP
- 開発
- 技術
DWHを導入すると、さまざまなデータを組織の意思決定に役立てられるようになります。データサイエンティストのような、データを積極的に分析・活用したい人にとって、ぜひ押さえておきたい要素の一つだといえるでしょう。
そこで今回は、DWHとはどのようなもので、何が特徴なのかを基本から説明していきます。併せて、混同されやすいDBやBIといった用語との違いについても取り上げるので、知識の整理に役立ててください。
DWH(データウェアハウス)とは
「DWH」は「Data WareHouse」の略で、直訳すると「データの倉庫」という意味です。「warehouse」の部分が1単語で「倉庫」を表すので、「DW」と表記されることもあります。
DWHは、米国のコンサルタントWilliam H.Inmon氏により提唱された概念です。同氏は自身の著書のなかで、DWHを「目的別に編成・統合された、時系列で、削除や更新をしないデータの集合体」と定義しました。その目的は、より多くのデータを経営上の意思決定に役立てることにあります。
もう少し具体的にDWHをイメージするには、社内にある「経理」や「勤怠」、「生産管理」などの業務システム(基幹系システム)からデータを収集し、1ヵ所にまとめて保管しておく場所のことだと考えればよいでしょう。このとき、各種データは分析しやすいように整理された状態になっています。
DWHの4つの要件とメリット
先に紹介したDWHの定義は、英語では「a subject oriented, integrated, time-variant, and non-volatile collection of data」です。直訳すると、「サブジェクト志向で、統合され、時系列で、不揮発性のデータの集まり」となります。DWHのデータに求められる4つの要件が、端的に述べられていることがわかるでしょう。
これらの要件はDWHを特徴付けると同時に、DWHならではのメリットをもたらすものです。それぞれの要件から導かれるDWHの特徴とメリットについて、1つずつ説明していきます。
サブジェクト志向(subject oriented)
「サブジェクト」とは、「主題」や「問題」のことです。「製品」や「顧客」、「収益」など、分析の際に注目したいデータの種類のことだと考えればよいでしょう。
DWH内のデータは、サブジェクトごとにまとめられています。これは、データの出どころとなる業務システムの種類によってではなく、データ自体の種類によって整理されているということです。
この特徴により、各種業務システム上でのデータの状態や取り扱いといった運用面のしがらみを避け、データそのものの「モデリング」や「分析」に注目できるようになります。
統合(integrated)
DWHにおける「統合」は、ただ「データを1ヵ所にまとめる」というだけの意味ではありません。「異なるデータを統一的に扱えるようにする」ことも要件に含まれます。
複数の業務システムから集められたデータは、形式が異なっているのが通常です。それぞれのシステムで最適な処理ができるよう、データベースに格納されていたり、ファイルとして保存されていたりします。
これらのデータをまとめると、重複がみつかることが少なくありません。例えば「顧客ID」は、システムをまたいで利用するため重複しやすいデータでしょう。場合によっては、まったく同じデータに「お客様番号」のような別のラベルが付けられていることも考えられます。
このような不整合をなくすため、あらかじめデータ形式をそろえておくのがDWHの特徴です。これにより、データを分析可能な状態にする作業に労力を費やすことが減り、データ分析も容易になります。
時系列(time-variant)
一般的な業務システムには、現在の運用に必要な最新のデータしか格納されていません。これに対し、DWHはデータを「時系列」で保存します。データを収集して格納する際に、いつのデータなのかも併せて記録するということです。
これは、DWHによってデータの履歴を保持できるようになることを意味します。ただし、そのためには大容量のストレージが必要になることもわかるでしょう。DWHは、ハードディスクの導入コストが下がったことで実現できるようになった仕組みなのです。
この特徴により、時期をまたいでデータを比べられるようになります。最新のデータを過去のものと比較したり、データの長期的な変遷に注目して分析したりといったことが可能です。
不揮発性(non-volatile)
DWHにおける「不揮発性」とは、データを追加する際に以前のデータが消えない性質のことです。平たく言えば、DWHに一度でも格納したデータは、変更・削除されることなく「永続」します。
業務システムのデータは、運用にしたがって頻繁に更新されるのが通常です。履歴データを残すシステムでも、月次や年次のサマリーを作成するタイミングで、明細データは削除されることが多いでしょう。
DWH内のデータは、こうした更新や削除の影響を受けません。データを収集してDWHに格納する動作が、一定周期で行なわれる仕組みになっているためです。この特徴により、業務システムの運用状況に左右されることなく、通常であれば残っていないようなデータまで含めた分析ができます。
DWHとDB/データマート/データレイク/BIとの違い
組織がデータを扱うための仕組みには、さまざまな種類があります。なかでも、以下はDWHと関係が深いものです。
・DB(データベース)
・データマート
・データレイク
・BI(ビジネスインテリジェンス)
ここからは、これらとDWHとの違いや関連性についてみていきましょう。
DWHは「DB(データベース)」よりも分析に特化する
データを格納しておける点では、DWHとDBは似ています。実のところ、DWHの下層には大容量のDBがあると考えて差し支えありません。
一方、使用目的と性能に関しては、DWHとDBには大きな違いがあります。トランザクション処理が必要な業務システムには、DBが選ばれることが多いでしょう。DBを用いれば、コミットやロールバックの機能によりデータの整合性を保つ設計が可能です。また、頻繁な読み書きに耐えられる性能を備えています。
これに対し、より分析に特化しているのがDWHです。DWHから見れば、DBは多数あるデータの出どころの一つに過ぎません。すでにDBから削除されたデータも、DWHには履歴として残されています。また、データ量が膨大になっても、高速なクエリが可能です。
DWHは「データマート」よりも広範囲のデータを扱う
DWHとデータマートは共通する部分の多い仕組みです。ただし、データマートは特定のサブジェクトに絞ってデータを格納する点が異なります。DWHのサブセットだと考えればイメージしやすいでしょう。
データマートは、比較的小規模なシステムとして構築できます。また、分析のパフォーマンスを高めやすいのも特徴です。その代わり、分析可能な範囲についてはDWHよりも狭くなります。
より広範囲にわたる分析が必要になったときは、データマートのみでは対処できません。対策としては、複数のサブジェクトを扱えるDWHを組織全体の「親」として、そこから抽出したデータで部門ごとのデータマートを構築するのが典型的です。企業の規模や方針によっては、組織全体のDWHを置かずに、必要に応じてデータマートを増やしていくケースもみられます。
DWHは「データレイク」とは格納できるデータが異なる
DWHとデータレイクの根本的な違いは、扱えるデータ形式の範囲です。
DWHでデータを収集する際には、「ETL」と呼ばれる処理が行なわれます。データを抽出(Extract)し、分析しやすい形式に変換(Transform)したうえで格納(Load)するということです。そのため、ETLによる処理が難しい非構造化データ(人が作成した文書や、SNSから集めた情報など)は、通常はDWHで扱うことができません。
これに対して、データを「生」のまま格納するのがデータレイクの特徴です。データの柔軟性が高く、非構造化データも扱えることから、全文検索や機械学習などに広く活用されています。しかし、組織の意思決定に役立てることが目的の場合は、構造が明確で分析も容易なDWHのほうが適しているといえるでしょう。
DWHは「BI(ビジネスインテリジェンス)」で力を発揮する
BIとは、さまざまなデータをビジネス上の意思決定に役立てる活動(または、そのための一連のツール)のことです。根拠のある経営判断をタイムリーに行なえるようにするために、データを分析・可視化するプロセスだと考えればイメージしやすいでしょう。
組織がDWHを導入する動機もデータを意思決定に役立てることにあり、この点はBIと同じです。広い意味では、DWHはBIの一部だといえます。
一方、BIのための手段はDWHだけとは限りません。例えば、BIの一環としてデータレイクやデータマートを分析に用いることもあります。
DWHの導入前に検討しておきたいデメリット
DWHには、使い方によってはデメリットになるかもしれない特徴もあります。多くの場合は「データファブリック」などの新しい手法でスマートに解決できますが、あらかじめ検討しておくに越したことはないでしょう。
変則的な分析は苦手
DWHで分析を行なう際には、事前に整理されたデータを用います。そのため、分析作業を素早くこなすことが可能です。一方、想定していなかったデータを必要とするような変則的な分析は、簡単にはできません。
これは、分析作業がルーティンワークに陥りやすい面があることを示しています。DWHを効果的に活用し続けられるかどうかは、導入時の設計の質に左右されるといえるでしょう。どのような分析を行ないたいのか、そのためにどのデータを収集しておく必要があるのかを明らかにしたうえで、慎重に設計する必要があります。
リアルタイム性の高い分析は難しい
一定周期でデータを収集するようになっていることから、リアルタイムな分析はDWHが苦手とするところです。例えばデータ収集が1日に1回の場合、昨日までのデータは分析できますが、1分前のデータは見ることができません。
リアルタイム性を高めるために、データ収集の頻度を1時間に1回にするなどの調整は可能です。しかし、あまり周期を短くしすぎると、分析作業や業務システムへの負荷が高くなってしまいます。どうしてもリアルタイム性を重視した分析を行ないたい場合は、直近のデータだけ別の方法で取得するなどの対応が必要になるでしょう。
DWHそのものが散在してしまうケースも
本来であれば、DWHは組織の中央に1つだけあれば良いものです。しかし現実には、ニーズの違いなどにより部門ごとのDWHが構築されるケースも少なくありません。この場合、組織内に散在するDWHをあらためて統合し、より有用な意思決定ツールとすることが課題です。
この課題を放置してしまうと、時間が経つにつれてデータの重複や不整合が増えていく恐れがあります。これは、データの「サイロ化」と呼ばれる問題です。サイロ化が進行すると、部門をまたいだデータ分析はしだいに困難になり、経営上の意思決定もスピード感を失っていくでしょう。
なお、サイロ化については、こちらの記事も参考にしてください。
サイロ化とは?分断されたシステム設計や縦割りの組織構造が企業にもたらす弊害
DWHの主流はコストと性能を最適化しやすいクラウド型へ
DWHの構築にはオンプレミス型の製品を使う方法もありますが、現在はクラウド型への移行が進んでいます。
DWHに格納すべきデータは、最初のうちはそれほど多くありません。従量課金となるクラウド型のDWHサービスを利用すれば、初期コストを抑えやすいでしょう。また、ハードウェアの制約を受けずに性能を最適化できる点も、クラウド型ならではのメリットです。
クラウド・ネイティブな企業では、DWHもクラウド上に構築しておけば合理的な面が多いでしょう。収集すべきデータがクラウド上にある状況や、遠隔から分析作業を行ないたいなどのニーズに対応しやすくなります。
以下は、クラウド型のDWHとして代表的なサービスの一例です。
・BigQuery(Google)
・Amazon Redshift
・Azure Synapse Analytics(Microsoft)
・IBM Db2 Warehouse on Cloud
・Autonomous Database for analytics and data warehousing(Oracle)
BigQueryについては、こちらの記事も併せて参考にしてください。
ビッグクエリとは何か?高速データ処理が得意な理由やメリット・デメリットを紹介
DWHはデータの力で組織の意思決定を支える技術
DWHは組織内のデータを統合し、分析できるようにするための仕組みです。各種業務システムからデータを収集し、履歴も含めて分析しやすい形式で保管します。特徴を理解して適切に導入すれば、スピーディで根拠のある意思決定が可能になるでしょう。
また、データサイエンティストにとって、DWHはぜひ押さえておきたい技術の一つだといえます。データサイエンティストを目指しているという人は、次の記事も参考にしてみてください。
データサイエンティストは社会に大きな影響を与える存在!仕事のやりがいや必要スキルとは?