データウエアハウスとは
データウエアハウスとは、分析しやすく検索できるようにしたデータを蓄積したデータベースのこと。データの倉庫とも言います。あらゆるデータを加工しデータウエアハウスに集め、そのデータを分析しやすい形に変換。分析の目的ごとにデータを作成・蓄積を行う。データウエアハウスで重要なことは「分析しやすいデータ」を格納してあるということ!!
企業のデータはさまざまなところから生まれます。例えば、実店舗やeコマースなど様々なデータが分散しています(サイロ化という)。このサイロ化したデータを企業の意思決定に生かすにはそれぞれのデータを分析しやすいデータに加工し、集める必要があります。この分析しやすいデータを集めたデータベースをデータウエアハウスといいます。
ここで疑問に思うのがそれぞれの実店舗のデータベースのデータをそのまま分析すればいいのではないか?ということです。これでも分析を行うことが出来るとは思いますが、処理するのに不可が掛かります。実店舗やeコマースそれぞれのデータベースというのはトランザクションに最適化されており、分析を実行するのには向いていません。また、実店舗のデータはそもそも分析しやすいようなデータではありません。そこでデータ分析に最適化されたデータベースであるデータウエアハウスが誕生したという感じです。
データウェアハウスは列ごとに処理ができるデータベースでありデータも列ごとに保存しています。実店舗から生成されるデータは行ごとに保存されるが、分析する際に行全体を読み込むには時間が掛かり無駄が多い。実際分析クエリが一度にアクセスするのは数列程度であるためすべての列は必要ないです。そのためデータウエアハウスでは列ごとに保存しています。
データウエアハウスの特性
データウエアハウスには大きく4つの特性があります。
[統合化・サブジェクト試行・時系列・恒常性]
・統合化
それぞれのデータベースのデータの意味や表記ゆれを統一する。これを行うことによって分析者はデータの違いを意識することなく利用することができる。
例
和暦を西暦に変換
大文字をすべて小文字に変換
JSTからUTCに変換など
データの変換方法
ETL(Extract Transform Load)…ETLツールでデータを変換してロードする方式
ELT(Extract Load Transform)…ステージングエリアにデータをロードし、SQLでデータを変換する方法
・サブジェクト試行
商品や顧客のような分析軸ごとに集計し蓄積したデータであるデータマートを作成する。
(データマートとは企業で蓄積されたデータから、用途・目的などに応じて必要なものだけを抽出、集計し、利用しやすい形に格納したデータベースのことです。簡単に言うとデータウェアハウスから目的に合わせたデータを取り出したものです。)
・時系列
日々生成されるデータであり、その時点のデータ状態を保存する。これは過去にさかのぼってデータ分析を行うことが目的です。
・恒常性
蓄積されたデータは変更せず参照可能な状態で保存する。これはいつでもデータ発生時の値を参照することが目的です。
ディメンジョナルデータモデル
ディメンジョナルデータモデルはラルフ・キンボールさんが提唱するモデルで、スタースキーマでデータウェアハウスを構築することです。分析したい値を持つ「ファクトテーブル(製品によってはメジャーともいう)」と分析の軸となる値「ディメンションテーブル」から構成される。ファクトテーブルを真ん中に置き、それを囲むようにディメンションをリンクさせます。この完成したモデルの形が星形に似ていることからスタースキーマと呼ぶようです。
ファクト(メジャー)…売上高・ページビュー、顧客数などの指標です。ファクトテーブルはこのファクトとディメンジョンテーブルを参照する外部キーの列を持っている。
ディメンション…年齢別・性別・都道府県のような属性。
データウエアハウスのサービス
データウエアハウスのサービスは以下の4つがあげられる。
Redshift(AWS)
Athena(AWS)
Snowflake(snowflake社)
BigQuery(Google)
<参照したサイト一覧>
データ分析を支える技術 DWH再入門←私にとって神動画でした!!!
https://www.youtube.com/watch?v=G7weKwUE6KY&t=628s
データウェアハウスに関して
https://el.jibun.atmarkit.co.jp/dwbi/2011/05/1-c6a3.html