ITの教科書検索
入門読了 約12分

データウェアハウスとは ― ビッグデータとの違い

データウェアハウスは、業務データを履歴ごと集めて分析に使うデータベースです。OLTPとOLAPの違い、ETL、データマート、ビッグデータとの違いが分かります。

目次
  1. データウェアハウスとは
  2. OLTPとOLAPの違い
  3. データウェアハウスの4つの特徴
  4. ETLとELT
  5. データマートとデータレイク
  6. ビッグデータとの違い
  7. データマイニング
  8. 練習問題

データウェアハウスとは、分析のために履歴を集めて保存するデータベース

データウェアハウス(DWH)とは、業務で発生したデータを集めて整理し、分析のために過去の分も含めて保存するデータベースです。売上を月別・支店別に集計したいとき、注文を受け付ける業務用のデータベースで集計すると、注文の処理が遅くなることがあります。そこで、日々の業務を動かすデータベースとは別に、分析用に持つものがデータウェアハウスです。

ビッグデータは、保存先の名前ではなく、データの性質を指す言葉です。データウェアハウスはデータを集めて分析する仕組みの名前なので、2つは比べる軸が違います。データベースの基本は、データベースとはとRDBの記事で説明しています。

OLTPとOLAPは、記録する処理と分析する処理

OLTP(Online Transaction Processing)は、注文や在庫の移動など、日々の取引を記録して更新する処理です。OLAP(Online Analytical Processing)は、集めたデータをいろいろな角度から集計して分析する処理です。次の図は、この2つが受け持つ場所を分けて描いたものです。

OLTP(業務用)受注在庫会計ETLで集める1件ずつ書き込むデータウェアハウス過去分も含めて保存履歴を統合して持つ読み出すOLAP(分析用)分析・レポート多角的に集計まとめて読み取るOLTP(業務用):1件ずつ書き込む受注在庫会計ETLで集めるデータウェアハウス過去分も含めて保存読み出すOLAP(分析用):まとめて読み取る分析・レポート(多角的に集計)
受注・在庫・会計などの業務用データベースからETLでデータウェアハウスにデータを集め、分析はそこから読み出して行います。業務用のデータベースは1件ずつ書き込む処理を、分析用のデータウェアハウスは過去分をまとめて読み取る処理を受け持ちます。

業務用のデータベースは、取引が起きるたびに書き込むため、書き込みが多く、高度に正規化されています。データを重複なく持つ正規化された表は、1件ずつの更新に向いています。

分析は逆に、大量の行を読んで集計します。Microsoftのドキュメントによると、大量の集計を業務用のデータベースで行うと処理が遅くなり、ほかのトランザクションを待たせることがあります。正規化された表では集計のたびに結合が必要になることも、分析の負担になります。

OLTPとOLAPの違い
比べる点OLTPOLAP
目的日々の取引を記録し、更新する集めたデータを集計し、分析する
データの更新リアルタイムで更新する大きなまとまりで、定期的に更新する
主な処理の例支払いの処理、顧客データの管理、注文の処理レポートの作成、複雑なデータ分析、傾向の把握
データ量の目安GB単位TBからPB単位
表の作り方重複を減らすために、高度に正規化する分析しやすい形を優先し、正規化にこだわらない

履歴を業務用のデータベースにため続けると、表が大きくなって、検索が遅くなることがあります。そのため、過去の分はデータマートやデータウェアハウスに移すのが一般的な解決策だと、Microsoftのドキュメントは説明しています。AWSのドキュメントも、分析の処理を業務用のデータベースから分けると、両方の性能が上がるとしています。

データウェアハウスの4つの特徴

Oracleのドキュメントは、データウェアハウスの特徴として、William Inmonが示した次の4つを挙げています。

  • 主題指向:売上など、分析したい主題ごとにデータを整理する
  • 統合:別々のシステムのデータを、名前や単位をそろえた共通の形にする
  • 不変:いったん入れたデータは変更しない。起きたことを分析するためです
  • 時系列:時間による変化を追えるように、長い期間のデータを持つ

業務用のデータベースは、最新の状態を保つために更新します。一方、データウェアハウスは、過去から現在までの変化を残して比べるために持ちます。

ETLで、複数の業務データを1か所に集める

ETLは、複数のソースのデータを、データウェアハウスのような1つの大きな置き場にまとめる処理です。抽出(Extract)、変換(Transform)、ロード(Load)の3段階で行い、英語の頭文字を取ってETLと呼びます。

抽出では、元のデータを複数のソースから取り出し、一時的な置き場に置きます。変換では、ビジネスのルールに従ってデータを整えます。Microsoftのドキュメントによると、変換には、フィルター処理や並べ替え、集計、データの結合が含まれます。データのクリーニングや、重複の除去、検証も変換に含まれます。ロードでは、整えたデータをデータウェアハウスに書き込みます。

変換を、送り先に書き込んだあとで送り先の中で行う方法もあります。この順番を入れ替えた方法をELTと呼びます。

ETL1 抽出元のデータを取り出す2 変換送る前に整える3 ロード送り先に書き込むELT1 抽出元のデータを取り出す2 ロード送り先に書き込む3 変換送ったあとに整えるETL1 抽出元のデータを取り出す2 変換送る前に整える3 ロード送り先に書き込むELT1 抽出元のデータを取り出す2 ロード送り先に書き込む3 変換送ったあとに整える
ETLもELTも、取り出す、書き込む、整えるという3つの処理は同じです。違いは、整える処理を送り先に書き込む前に行うか、書き込んだあとに送り先で行うかです。

ELTは、送り先の処理能力を使ってデータを整えるため、変換専用のエンジンが不要です。AWSのドキュメントは、ELTが大量で非構造化のデータを頻繁にロードする場合に向くと説明しています。Microsoftのドキュメントは、送り先が十分に強力でないとELTはうまく働かないと注意しています。

データマートとデータレイクは、置く範囲と構造が違う

データウェアハウスと一緒に出てくる言葉に、データマートとデータレイクがあります。データマートは用途を絞った小さなデータウェアハウスで、データレイクは構造を決めずにデータを置く場所です。

データウェアハウス・データマート・データレイクの違い
名前何を置く場所かデータの構造
データウェアハウス分析のために設計した、データの中央の置き場あらかじめ構造を決めておく
データマート特定のチームや事業部門の用途に絞ったデータウェアハウス。データウェアハウスの一部のこともあるデータウェアハウスと同じく、あらかじめ決めておく
データレイク構造化・半構造化・非構造化のあらゆるデータを、そのまま置く場所取り込むときに構造を決めない

AWSのドキュメントによると、データウェアハウスは構造とスキーマをあらかじめ決めておき、リレーショナルデータの分析に最適化します。データレイクは、取り込むときに構造を決めず、あとから使い方に応じて整えます。置いたデータを探せるようにするには、何がどこにあるかを記録したメタデータが必要です。

AWSでデータウェアハウスを作るサービスには、Amazon Redshiftがあります。

ビッグデータの特徴と、データウェアハウスとの違い

ビッグデータは、従来のデータベースの扱い方では難しい、大量で多様なデータを指す言葉です。総務省の令和元年版情報通信白書は、ビッグデータを特徴付けるものとして4Vを挙げています。4Vは、量、多様性、速度、正確性の4つで、英語ではvolume、variety、velocity、veracityです。このうち量・多様性・速度の3つは、3Vとして広く知られていると、同じ白書の脚注が述べています。

ビッグデータの3つの特徴と、白書の説明
特徴総務省の白書の説明
量(volume)ある1人の1回の購入データから分かることは少ないが、多数の人の多数の購入履歴を分析すると、購買行動の傾向が見える
多様性(variety)購入者の年齢と性別だけでなく、住所・家族構成・趣味などのデータも入手できれば、より緻密に分析できる
速度(velocity)検索データから、公式発表より前にインフルエンザにかかった人数を、ほぼリアルタイムで推計できるといわれる例がある

平成25年版の白書は、共通する特徴として「多量性、多種性、リアルタイム性等」を挙げています。「○つのV」の数え方には様々な見方があると、令和元年版の脚注は付け加えています。

データウェアハウスとの関係は、データの構造から整理できます。総務省の平成25年版の白書は、POSデータや顧客データを構造化データ、SNSの書き込みや映像、GPSのデータなどを非構造化データとしています。ビッグデータには両方が含まれ、最近は非構造化データの増加が注目されていると述べています。

表の形に収まらないデータは、構造をあらかじめ決めるデータウェアハウスより、そのまま置けるデータレイクで扱う選択肢があります。表以外の形でデータを持つデータベースの種類は、NoSQLの記事で説明しています。このように、ビッグデータは分析する対象のデータの性質で、データウェアハウスとデータレイクは、そのデータを置く場所の設計です。

データマイニングは、大量のデータを探索する手法

データマイニングは、大規模なデータセットを処理して探索する、コンピュータを使った分析の手法です。AWSのドキュメントがこのように説明しています。

OLAPは、集めたデータを集計し、見る角度を変えて分析します。一方、データマイニングは、大量のデータの中を探索して分析します。どちらも、データウェアハウスなどに蓄積したデータを使う分析の技術です。

参考にした資料

練習問題(全5問)

Q1データウェアハウスの説明として、最も適切なものはどれ?
Q2OLTPとOLAPの組み合わせとして、正しいものはどれ?
Q3ETLの3つの処理を、行う順に並べたものはどれ?
Q4データマートの説明として、最も適切なものはどれ?
Q5総務省の令和元年版情報通信白書の脚注が、広く知られるものとして挙げる「3つのV」の組み合わせはどれ?

選んでから「採点する」を押すと、解説つきで答え合わせができます。

関連記事

おすすめの本 PR

セキュリティとデータベースは、基本情報技術者試験の対策本でまとめて学べます。

目的別の本の選び方を見る

データベースの記事を続けて読む

データベース 全36本中35本目