要点
この記事で分かること
- DWHは、複数のシステムのデータを分析用に集約し、過去の分も含めて蓄積しておく基盤
- 業務システムのデータベースは日々の処理、DWHは集計と分析と、優先していることが異なる
- DWHだけでは何も分からず、BIなど活用側の仕組みと、指標の定義を揃える運用が必要
DWHとは
DWHは「Data Warehouse」の略で、日本語ではデータウェアハウスと呼ばれます。販売、在庫、会計、顧客管理など複数の業務システムに分かれたデータを一か所へ集め、分析に使える形へ整えたうえで、過去の分も残して蓄積しておく基盤です。
業務システムは、日々の登録や更新を正しく処理することを優先して作られています。そのため、部門をまたいだ集計や、数年分の推移を見る用途には向きません。DWHは、分析のためにデータを別の場所へ写し、同じ条件で繰り返し集計できる状態をつくるために使います。
| 比較する点 | DWHがない場合の課題 | DWH導入後の変化 |
|---|---|---|
| データの所在 | 販売、在庫、会計などのデータがシステムごとに分かれ、まとめて見られない | 必要なデータを一か所に集め、システムをまたいだ集計ができる |
| 過去のデータ | 業務システムの保持期間を過ぎたデータが消え、長期の推移を追えない | その時点の状態を残して蓄積し、数年単位の変化を確認できる |
| 集計作業 | 担当者が都度データを出力し、表計算で突き合わせて集計し直す | 決めた手順で取り込み、同じ集計を繰り返し実行できる |
| 業務への影響 | 重い集計を業務システム上で実行し、日常業務の動作に影響することがある | 分析用のデータを分けて置くため、業務システムの処理を妨げにくい |
データベース・データレイク・データマートとの違い
DWHの周辺には、同じく「データをためる」仕組みがいくつかあります。名前が似ていて混同しやすいのですが、違いは整えてからためるのか、どこまでの範囲を対象にするのかにあります。
ここで先に押さえておきたいのは、4つが別々の製品を指すとは限らないことです。データマートはDWHの中に作ることが多く、データレイクの役割をDWH製品が兼ねる構成もあります。これらは役割の呼び名であって、4つ分の製品を用意しなければならないわけではありません。
まず、最も身近なデータベースとの違いから整理します。DWHもデータベースの一種ですが、優先していることが異なります。
データベースとの違い
| 比較する点 | 日々の処理に使うデータベース | DWH |
|---|---|---|
| 主な目的 | 受注、入出庫、会員登録など、日々の処理を正確に記録する | 集計や分析のために、データをまとめて取り出す |
| 扱う期間 | 主に現在の状態。古いデータは整理・削除されることが多い | 変更前の状態も含め、過去の分を長期間ためておく |
| データの持ち方 | 重複を避け、処理しやすいよう細かく分けて保持する | 集計しやすいよう、分析の切り口に沿ってまとめる |
| 更新のしかた | 利用者の操作に応じて、その都度更新される | 決めた間隔でまとめて取り込み、履歴として積み上げる |
データレイクとの違い
データレイクは、形式を整えないまま、あらゆるデータをそのまま保存しておく置き場です。売上や在庫のような表形式のデータだけでなく、画像、音声、機器のログ、問い合わせの文章など、構造が決まっていないデータも扱えます。
先に使い道を決めなくてよいため、とりあえず残しておきたいデータの保管に向きます。ただし、そのままでは集計に使えず、使うときに整える作業が必要になります。DWHは先に整えてからためるので集計はすぐ行えますが、想定していない形式のデータは入れられません。
扱うデータが売上や在庫などの表形式に収まっているうちは、データレイクを別に用意せず、DWHだけで足りることが多くあります。
データマートとの違い
データマートは、DWHにためたデータから、特定の部門や用途に絞って切り出したものです。営業向け、経理向けというように、使う人が必要とする範囲だけを、使いやすい形にまとめます。
全社分を持つDWHは項目が多く、目的の数字にたどり着くまでに手間がかかります。用途ごとに切り出しておけば、必要な人が必要な範囲だけを速く参照できます。一方で、DWHを持たずにデータマートだけを増やすと、部門ごとに数え方がずれていきます。
DWHにデータが入るまで
DWHは、業務システムをつなげば使える状態になるわけではありません。次の流れで、分析に使える形へ整えます。
| 抽出 | 業務システム、ファイル、外部サービスからデータを取り出す |
|---|---|
| 変換 | 項目名、単位、日付の形式、分類コードなどを揃える |
| 書き出し | DWHへ書き込み、取り込んだ時点の状態を残して積み上げる |
| 提供 | 部門や用途に合わせて切り出し、BIなど活用側へ渡す |
ETLとELTの違い
前の章の流れをまとめて呼ぶ言葉が、ETLとELTです。抽出(Extract)は元のデータを取り出すこと、変換(Transform)は項目名や単位を揃えること、書き出し(Load)はDWHへ書き込むことを指します。並び順がそのまま、変換をDWHへ書き込む前に行うか、書き込んだ後に行うかを表しています。
ETLでは、DWHとは別に用意したツールの上で変換します。専用のクラウドサービスや、社内に置いたサーバーで動く仕組みです。整えたデータだけがDWHへ書き込まれます。一方のELTでは、変換せずにそのままDWHへ書き込み、DWHが持つ計算能力を使って中で変換します。
どちらを選んでも、変換そのものは必要です。システムごとに書き方がばらばらなままでは、集めても集計がかみ合わないためです。
| 比較する点 | ETL(先に変換) | ELT(後から変換) |
|---|---|---|
| 変換が動く場所 | DWHとは別に用意したツール(クラウドサービスや自社のサーバー) | DWHの中 |
| 書き込むデータ | 分析に使う形へ整えたものだけを書き込む | 元の状態に近いものを、まとめて書き込む |
| 向いている場面 | 扱う量が限られ、DWHへ入れる内容を絞りたい場合 | 量が多く、あとから使い道を広げる可能性がある場合 |
| 注意する点 | 変換用のツールを別に用意し、動かし続ける必要がある | DWH側の処理量が増え、費用に反映されやすい |
どちらを選べばよいか
クラウド型のDWHは処理能力が高いため、書き込んでから変換するELTの構成も一般的です。ただし、どちらが優れているという話ではなく、扱う量や既存の仕組みによって適した形が変わります。
先に決めるべきなのは変換の順番ではなく、どの項目をどう揃えるかです。整える内容が決まっていれば、順番は使う製品の得意な形に合わせて選べます。逆にここが決まっていないと、どちらを選んでも同じ手戻りが起きます。
DWHが役立つ場面
DWHが効果を発揮するのは、システムをまたいだ集計や、期間をまたいだ比較が必要な場面です。
| 経営 | 販売、原価、在庫、経費を合わせ、事業や商品ごとの採算を確認する |
|---|---|
| 販売分析 | 数年分の実績から、季節による変動や商品ごとの傾向を確認する |
| 在庫・購買 | 入出庫と発注の履歴を突き合わせ、欠品や過剰在庫の要因を探る |
| 顧客分析 | 購入履歴と問い合わせ履歴を合わせ、継続や離反の傾向を確認する |
| 業務改善 | 処理件数や所要時間を蓄積し、業務量の変化を把握する |
代表的なDWH製品
近年は、自社でサーバーを用意せず、保存量や実行した処理に応じて費用が決まるクラウド型が中心です。製品名や提供区分は変わることがあり、たとえばMicrosoftは、従来のAzure Synapse Analyticsを提供しながら、新しい機能はMicrosoft Fabric側で追加する方針を示しています。検討時は公式情報で現在の内容を確認してください。本記事の公開時点では、次のような製品があります。
- Google BigQuery
- Amazon Redshift
- Snowflake
- Microsoft Fabric(Warehouse)
DWHの検討が向いている状況
DWHは、扱うデータの量と、集計に関わる人が増えるほど効果が出ます。表計算での突き合わせが追いつかなくなったときが、検討の目安です。次のような状態が複数ある場合は、データの持ち方を見直す合図です。
- 複数のシステムからデータを出力し、手作業で突き合わせて集計している
- 同じ集計を毎月繰り返しており、担当者以外は手順が分からない
- 業務システムの保持期間の都合で、過去の実績を追えなくなっている
- 集計処理が重く、業務システムの動作に影響が出ている
- 部門ごとに集計結果が異なり、どの数字が正しいかの確認に時間がかかる
DWHより先に検討したい選択肢
扱うデータが一つのシステムにほぼ収まっており、集計も月に数回であれば、業務システムの標準機能や、BIツールから直接接続する方法で足りることがあります。まず、どの集計にどれだけ時間がかかっているかを確認してください。
導入を成功させるための進め方
最初に決めるのは、どの判断のためにどの数字を見たいのかです。先に器を用意しても、見たい指標が決まっていなければ使われません。そのうえで、必要なデータがどのシステムにあるか、どの頻度で更新すべきかを整理します。
次に、項目の意味と集計条件を揃えます。同じ「売上」でも、税込か税抜か、いつ計上するか、キャンセル分をどう扱うかがシステムごとに異なることがあります。最初から全社のデータを対象にせず、確認しやすい範囲から始め、使われた実績をもとに広げてください。
よくある失敗
とりあえず全部のデータを入れておく、という進め方では、使われないデータの取り込みと維持に手間と費用がかかり続けます。クラウド型では保存量や実行した処理に応じて費用が変わるため、不要な処理が積み上がると想定以上の請求につながります。
また、元のデータが誤っていれば、DWHに集めても正しい集計にはなりません。取り込み件数の確認や、処理が失敗したときに気づける仕組みを決めておく必要があります。DWHは判断の材料を整える場所であり、判断そのものを代わりに行うものではありません。
まとめ
DWHは、複数の業務システムに分かれたデータを分析用に集約し、過去の分も含めて同じ条件で集計できる状態を保つための基盤です。業務システムのデータベースとは目的が異なり、部門や期間をまたいだ比較を安定して繰り返せるようにします。
一方で、DWHを導入するだけでは何も分かりません。どの判断のために何を見るのかを先に決め、指標の定義を揃え、BIなど活用側の仕組みと組み合わせる必要があります。今の集計方法を整えれば十分なのか、DWHが必要なのかを見極めたうえで検討しましょう。
情報・知識を活かしたい
営業・集客を強化したい
営業・集客を強化したい