狠狠撸

狠狠撸Share a Scribd company logo
データ分析を?える技術 DWH再??
データアナリティクス事業本部
2020/06/19
?川 覚
2??紹介
? ?名
- ?川 覚 (いしかわ さとる)
? 所属
- データアナリティクス事業本部 (DA事業本部)
- インテグレーション部
- 札幌オフィス勤務
? 略歴
- メーカー系SIer、ITベンチャー企業、現在に?る
? 担当業務
- データ分析基盤の設計?開発、コンサルティング
? 好きなサービス
- Amazon Redshift/Athena、Snowflake 、Google BigQuery
2020 APN AWS Top Engineers 選出
3アジェンダ
? DWH再??
? DWHの特性
? ディメンジョナルデータモデル
? 分析データの利?
? ?般的なDBとDWHの相違点
? DWHのアーキテクチャ
4
DWH再??
5DWHとは
DWHはデータウェアハウスの略(データの倉庫)
分析しやすく検索できるように蓄積したデータベース
6DWHとは
DWHはデータウェアハウスの略(データの倉庫)
分析しやすく検索できるように蓄積したデータベース
? 部?のデータをDWHに集め
? そのデータを分析しやすく変換
? 分析の?的ごとにデータを作成?蓄积
7DWH導?の背景
?つの企業の中でさまざまな部?のDBに、データが分散して
いることをサイロ化と呼びます。
eコマース 店舗
8DWH導?の背景
?つの企業の中でさまざまな部?のDBに、データが分散して
いることをサイロ化と呼びます。
eコマース 店舗
もう?サイロ化した貴重なデータを
企業の意思決定?援に活かすには、
データを集めて、分析しやすく検索
できるように蓄積したDBが必要?
9DWH導?の背景
部?のDBは、トランザクションの実?に最適化されており、
分析クエリの実?には不向きです。
DWH(データの倉庫)
そこで登場したのが、データ分析に
最適化されたDBであるDWHです
10
DWHの特性
11DWHの特性
ビル?インモンさんが提唱するDWHの4つ特性
1. 統合化(integrated)
2. サブジェクト指向(subject oriented)
3. 時系列(time variant)
4. 恒常性(nonvolatile)
12DWHの特性
ビル?インモンさんが提唱するDWHの6つ特性
1. 統合化(integrated)
2. サブジェクト指向(subject oriented)
? 詳細データ(detail data)
? 要約データ(summary data)
3. 時系列(time variant)
4. 恒常性(nonvolatile)
13DWHの特性
まずは部?のデータをDWHに集める
部?のデータを?箇所に集めるには、部?のDBからエクス
ポートしたファイルをDWHにインポートするのが?般的で
す。
? 部?のDBからエクスポートしたファイルはオブジェクトス
トレージにアップロードする
? 補??Amazon Redshiftの場合、S3(オブジェクトスト
レージ)に集めたデータファイルは、データファイルに対し
て直接クエリを実?できる「データレイク」のストレージと
しても活?できる
14DWHの特性
1. 統合化(integrated)
各部?のデータの表記揺れや意味を統?します。データを利?
するアナリストが個々のデータの違いを意識せずに利?できる
ように整理する。
例.
? ?付?和暦から?暦変換、JSTからUTC変換
? ?字列???字??字、整数?少数、表記揺れ
? 値?Nullや空?字、コード体系の取り扱い
15DWHの特性
1. 統合化(integrated)
補??データの変換?法
? ETL(Extract Transform Load)
? ETLツールでデータを変換してロードする?式
? ELT(Extract Load Transform)
? ステージングエリアにデータをロードした後、SQLでデータを変
換する?式
16DWHの特性
2. サブジェクト指向(subject oriented)
? 「商品」や「顧客」のように分析の軸(次元)ごとに集計し
て蓄積したデータである「データマート」を作成する
? 複数ディメンジョンのデータマート?データ探索?途
? 単?ディメンジョンのデータマート?パフォーマンス重
視のためダッシュボード?途
※グラニュラリティ(要約の粒度)は要件やデータの規模に
よって調整する
17DWHの特性
2. サブジェクト指向(subject oriented)
? 詳細データ(detail data)?分析しやすく変換したデータ
をそのまま保存
? 要約データ(summary data)?複数の詳細データを結合
したり、集計した結果を保存
18DWHの特性
3. 時系列(time variant)
?々?成されるデータ、その時点のデータ状態を保存します。
過去に遡ってデータ分析ができることが?的です。
19DWHの特性
4. 恒常性(nonvolatile)
蓄積されたデータは、変更せずに参照可能な状態で保存します。
いつでもデータ発?時の値を参照出来ることが?的です。
クラウドのオブジェクトストレージは堅牢かつイミュータブル
でありDWHのデータの保存に適しています。
20DWHの特性
データの流れ
BIシステム利?者
アナリスト
POSデータ
基幹システム
ステージング層 DWH層 データマート層
eコマース売上
RedshiftS3
データ分析基盤
データレイク層
21DWHの特性
データの流れ
BIシステム利?者
アナリスト
POSデータ
基幹システム
ステージング層 DWH層 データマート層
eコマース売上
RedshiftS3
データ分析基盤
データレイク層
部?のDBからデータをエクスポートする
22DWHの特性
データの流れ
BIシステム利?者
アナリスト
POSデータ
基幹システム
ステージング層 DWH層 データマート層
eコマース売上
RedshiftS3
データ分析基盤
データレイク層
エクスポートしたファイルをS3にアップロード
23DWHの特性
データの流れ
BIシステム利?者
アナリスト
POSデータ
基幹システム
ステージング層 DWH層 データマート層
eコマース売上
RedshiftS3
データ分析基盤
データレイク層
S3のデータをDWHのステージング層にロードする
24DWHの特性
データの流れ
BIシステム利?者
アナリスト
POSデータ
基幹システム
ステージング層 DWH層 データマート層
eコマース売上
RedshiftS3
データ分析基盤
データレイク層
ステージング層のデータを統合化(integrated)してDWH層インポートする
25DWHの特性
データの流れ
BIシステム利?者
アナリスト
POSデータ
基幹システム
ステージング層 DWH層 データマート層
eコマース売上
RedshiftS3
データ分析基盤
データレイク層
DWH層のデータを?いてデータマートを作成する
26DWHの特性
データの流れ
BIシステム利?者
アナリスト
POSデータ
基幹システム
ステージング層 DWH層 データマート層
eコマース売上
RedshiftS3
データ分析基盤
データレイク層
データマートを?いて分析する
27DWHの特性
データの流れ
BIシステム利?者
アナリスト
POSデータ
基幹システム
ステージング層 DWH層 データマート層
eコマース売上
RedshiftS3
データ分析基盤
データレイク層
28
ディメンジョナルデータモデル
29ディメンジョナルデータモデル
ディメンジョナルデータモデルとは
? ラルフ?キンボールさんが提唱するディメンジョナルモデル
とは、スタースキーマでDWHを構築すること
? 分析したい値を持つファクトテーブルと、分析の軸(次元)
となる値を持つディメンジョンテーブルから構成される
? ERモデル(第3正規形)は分析データのモデリングに最適
ではない
30ディメンジョナルデータモデル
スタースキーマとは
テーブル同?の関係性を可視化
すると、ファクトテーブルを中
?にその周りをディメンション
テーブルが取り囲む形になる。
売上
時間ID
店舗ID
商品ID
顧客ID
担当者ID
売上?額
時間
時間ID
年??
時間
休?
店舗
店舗ID
店舗名
地域
顧客
顧客ID
顧客名
顧客分類
商品
商品ID
商品名
カテゴリ
担当者
担当者ID
担当者名
部?
31ディメンジョナルデータモデル
売上
時間ID
店舗ID
商品ID
顧客ID
担当者ID
売上?額
時間
時間ID
年??
時間
休?
店舗
店舗ID
店舗名
地域
顧客
顧客ID
顧客名
顧客分類
商品
商品ID
商品名
カテゴリ
担当者
担当者ID
担当者名
部?名
スタースキーマとは
テーブル同?の関係性を可視化
すると、ファクトテーブルを中
?にその周りをディメンション
テーブルが取り囲む形になる。
32ディメンジョナルデータモデル
売上
時間ID
店舗ID
商品ID
顧客ID
担当者ID
売上?額
時間
時間ID
年??
時間
休?
店舗
店舗ID
店舗名
地域
顧客
顧客ID
顧客名
顧客分類
商品
商品ID
商品名
カテゴリ
担当者
担当者ID
担当者名
部?
ファクト
ファクトテーブル
ファクトテーブルは、分析した
い値の列と、その周りのテーブ
ル(ディメンジョンテーブル)
を参照する外部キーの列がある
33ディメンジョナルデータモデル
売上
時間ID
店舗ID
商品ID
顧客ID
担当者ID
売上?額
時間
時間ID
年??
時間
休?
店舗
店舗ID
店舗名
地域
顧客
顧客ID
顧客名
顧客分類
商品
商品ID
商品名
カテゴリ
担当者
担当者ID
担当者名
部?
ディメンジョン
ディメンジョンテーブル
ディメンジョンテーブルは分析
の軸(次元)を持つテーブル
34ディメンジョナルデータモデル
ファクトとディメンジョンの関係
? ディメンジョンテーブルに対し
てファクトテーブルは圧倒的に
レコード数が多い傾向がある
? あえて第3正規形まで正規化せ
ず、第2正規形で留めておくこ
とでテーブルの結合するコスト
を抑える
売上
時間ID
店舗ID
商品ID
顧客ID
担当者ID
売上?額
時間
時間ID
年??
時間
休?
店舗
店舗ID
店舗名
地域
顧客
顧客ID
顧客名
顧客分類
商品
商品ID
商品名
カテゴリ
担当者
担当者ID
担当者名
部?
35
分析データの利?
36分析データの利?
代表的なデータ分析の?法
? ダイス
? スライス
? ドリルアップ?ドリルダウン
BIツールを使い始める前に
理解することをおすすめします。
37分析データの利?
ダイス(ダイシング)
データ分析の軸(次元)を変更して、分析の視点を変える。
? 例.商品ごとに分析していたものを、店舗ごとに切り替えて
別の視点で分析する
? ダイスするには、統合化したそのままのデータか、複数ディ
メンジョンのデータマートを事前に作成する
38分析データの利?
スライス(スライシング)
多次元の表を2次元の表に切り取る操作。
? 例.商品別年??別売上表などを切り出し、季節による商品
の売り上げ推移を分析する
? 統合化(integrated)後のデータからデータマートを作成す
る過程でも実施する
39分析データの利?
ドリルアップ?ドリルダウン
分析の深さを詳細にしたり、まとめたりして変更する操作。
? 例1.年?ごとに?っていた分析を、粒度をあげて年単位に
することをドリルアップという
? 例2.逆に粒度を下げて?単位にすることをドリルダウンと
いう
? 年??のドリルアップ?ドリルダウンはBIツールを?いる
と簡単にできる
40分析データの利?
BIツールによる可視化
? ダイス、スライス、ドリルダウン?アップの操作が容易
? データを2次元的なクロス集計表だけでなく、様々な表?形
式(グラフなど)でデータを表現できる
? 定型分析
? ダッシューボードなど、常に表?する情報は、パフォー
マンス重視の単?ディメンジョンデータマートを?いる
? データ探索(データディスカバリ)
? 統合化(integrated)後のデータや既存の複合ディメン
ジョンデータマートを?いて、新たな洞察を得る
41
?般的なDBとDWHの相違点
42相違点は…
トランザクション処理と分析処理では、
データに対するアクセスパターンが異なる
43相違点
アクセスパターン
? オンライントランザクション処理(OLTP)??般的なDB
? インデックスのキーから少数のレコードを取得?更新
? インタラクティブであり、素早く応答が必要
? オンライン分析処理(OLAP)?DWH
? ?量のレコード中の少数の列だけを読み出しが多い
? 要約統計 (レコード数、合計、平均など)を計算した結果
をユーザーに返したり、テーブルに保存する
44相違点
データアクセスの?較
特性 オンライントランザクション処理
(OLTP: OnLine Transaction Processing)
オンライン分析処理
(OLAP: OnLine Analytic Processing)
データの規模 数GBから数TB 数百GBから数PB
読み込みの
パターン
インデックスのキーを?いた少数
のレコードの低レイテンシ読み込
み
?量のレコード中の少数の列だ
けを読み込み
書き込みの
パターン
ランダムアクセスと低レイテンシ
書き込み
レコード中の更新した列の追加
書き込み、もしくは?量データ
の?括インポート
45
DWHのアーキテクチャ
46列指向ストレージ
分析クエリを効率よく実?できる「列指向ストレージ」
分析クエリが?度にアクセスするのは、そのうちの4ないし5
列程度という特徴があります。
DWHではテーブルのデータを?ごとではなく、列ごとに保存
します。
? ?指向?データを?ごとに保存する?式
? 列指向?列ごとにデータを保存する?式
47列指向ストレージ
データスキャンの削減
分析対象となる列のデー
タだけにしかアクセスし
ないため、データスキャ
ンが最?化できる
引??/AmazonWebServicesJapan/20181205-aws-black-belt-online-seminar-amazon-athena-20190510update/26
48列指向ストレージ
I/O効率や圧縮率の向上
? 列ごとにデータを格納
して連続的にデータを
読み出すことでI/O効
率が向上する
? 同じ列に含まれるデー
タは類似性が?く、圧
縮率が?くなる
引??/AmazonWebServicesJapan/20181205-aws-black-belt-online-seminar-amazon-athena-20190510update/26
49DWHのシステム構成
複数のノードを?いた並列分散処理
?量のデータの分析を想定した並列分散アーキテクチャを採?
している。
? シェアードナッシング
? ストレージをノードごとに割り当て、複数ノードで並列
分散処理する
? シェアードストレージ
? データを共有ストレージに保存し、複数ノードで並列分
散処理する
? ストレージとコンピューティングを分離
50DWHのシステム構成
DWHの例
? シェアードナッシングを採?しているDWH
? Amazon Redshift(RA3はハイブリッド)
? Teradata
? Vertica
? シェアードストレージを採?しているDWH
? Google BigQuery
? Snow?ake
51DWHのアーキテクチャ
例. Amazon Redshift(RA3)
ホットデータはシェアー
ドナッシング、コールド
データは、シェアードス
トレージ
双?の?所を活かし、ス
トレージとコンピュー
ティングを分離したアー
キテクチャを採?してい
る
52
まとめ
53まとめ
DWHのデータ設計
? アナリストが個々のデータの違いを意識せずに利?できるよ
うにデータを統合化(integrated)する
? 分析?途応じて、結合?集計されたデータマートが時系列か
つ永続的に保存する
? 分析?途のテーブルはディメンジョナルデータモデル(ス
タースキーマ)を採?し、第2正規化までとする
54まとめ
DWHのデータ活?
? データの可視化にはデータマートとBIツールが有効
? 複数ディメンジョンのデータマート?データ探索?途
? 単?ディメンジョンのデータマート?パフォーマンス重
視のダッシュボードなど
55まとめ
DWHのアーキテクチャ
? ?量レコード中の少数の列の読み込みを想定して列指向スト
レージを採?している
? ?量のデータを処理できるように伸縮?在で並列分散処理が
可能なシステム構成を採?する
? 特に「ビッグデータの分析」であれば上记は必须です
56
わかるようでわからないDWH
違いをご理解いただけたら幸いです。
データ分析を支える技術 DWH再入門

More Related Content

データ分析を支える技術 DWH再入門