実践的データ基盤への処方箋 読み会
2022/01/20
しんゆう @data_analyst_
本資料についての注意点
本資料について
自己紹介
本資料について
(データアーキテクトまたはデータ整備人)
目次
目次
データレイク層とは何か
1-5 データレイク層の一箇所にデータのソースのコピーを集約する
データレイク層とは何か
1-5 データレイク層の一箇所にデータのソースのコピーを集約する
図書館とか資料室も(ある意味)データレイク
どのようにデータレイクをつくるか
1-5 データレイク層の一箇所にデータのソースのコピーを集約する
どのようにデータレイクをつくるか
1-5 データレイク層の一箇所にデータのソースのコピーを集約する
デジタル化や整備に工数がかかりすぎるので非デジタルはそのまま、Excelとかはファイル形式+あとはDWHと併せて3つの状態が平行になりがち
現場で生じるデータレイク層の課題
1-5 データレイク層の一箇所にデータのソースのコピーを集約する
現場で生じるデータレイク層の課題
1-5 データレイク層の一箇所にデータのソースのコピーを集約する
課題としては他にも
なぜデータを一箇所に集めるべきか
1-5 データレイク層の一箇所にデータのソースのコピーを集約する
なぜデータを一箇所に集めるべきか
1-5 データレイク層の一箇所にデータのソースのコピーを集約する
分析の事例は持っているデータしか見ない「分析の失敗」。可用性バイアスはデータレイクに集約されていても発生する
事前に準備しておくことの有用性が第一かなと思っている
目次
データウェアハウス層とは何か
1-6 データウェアハウス層では分析用DBを使って共通指標を管理する
データウェアハウス層とは何か
1-6 データウェアハウス層では分析用DBを使って共通指標を管理する
データそのものをDWHと呼ぶことは他では見たことない
データソースと同じではないがそのまま使えるほどでもないデータが入っているところはデータレイクなのかデータウエアハウスなのか
なぜ共通指標を集計すべきか
1-6 データウェアハウス層では分析用DBを使って共通指標を管理する
なぜ共通指標を集計すべきか
1-6 データウェアハウス層では分析用DBを使って共通指標を管理する
共通指標を集計することは同意。ないと部署どころか隣の人とも違う定義で集計を行って間違い探し大会が頻繁に起きる
ただしガバナンスの話なのでDWHと併せて考えないほうがいいかも
なぜ分析用DBで共通指標を集計・管理すべきか
1-6 データウェアハウス層では分析用DBを使って共通指標を管理する
なぜ分析用DBで共通指標を集計・管理すべきか
1-6 データウェアハウス層では分析用DBを使って共通指標を管理する
ユースケースとは「データ基盤の用途」のこと。詳細は1-9
集計や管理を表計算やBIで行わない方がいいのは本当にその通りだけどそのためのクエリは別に考えた方がいいかも(現在のところはDWHと呼ばれるところに置かれるのが主流、ぐらい)
目次
どのようにデータウェアハウス層をつくるか
1-7 共通指標は本当に必要とされるものを用意する
どのようにデータウェアハウス層をつくるか
1-7 共通指標は本当に必要とされるものを用意する
今なら「とりあえずBigQueryに突っ込んでおけばいいのでは」で済みそうだけどDWHの選定どうしてます?
手順①:データクレンジングの実施
1-7 共通指標は本当に必要とされるものを用意する
手順①:データクレンジングの実施
1-7 共通指標は本当に必要とされるものを用意する
クレンジングの方針(品質レベルや方法)の決め方の方針はあるのだろうか
手順②:スタースキーマの作成
1-7 共通指標は本当に必要とされるものを用意する
手順②:スタースキーマの作成
1-7 共通指標は本当に必要とされるものを用意する
使う際にはJOINすることになる
いまだに良い解決方法が思いつかない
手順③:共通指標の集計
1-7 共通指標は本当に必要とされるものを用意する
手順③:共通指標の集計
1-7 共通指標は本当に必要とされるものを用意する
月次モニタリングの例はデータマートなのでは
共通指標を作ることの意義はガバナンスにあり、部門横断の集計ができるかどうかではない気がする(DWHに無くても必要なら作れるので)
初期段階ではデータウェアハウス層をつくらない
1-7 共通指標は本当に必要とされるものを用意する
初期段階ではデータウェアハウス層をつくらない
1-7 共通指標は本当に必要とされるものを用意する
実態にそぐわない(ので使われない)共通データが出来るのはエンジニアが利用者の話を聞かないで作ってしまったから、というのはしばしば見かける
最低限のDWHはあったほうがいいのでは(JSONをパースしただけのテーブルをデータレイクと解釈するならなくてもいいかもしれないけど)
目次
データマート層とは何か
1-8 特定用途に利用するデータマートはユースケースを想定してつくる
きか」「データマート層に置くべきか」を判断できないときは、時期尚早なのでデータマート層に置く
データマート層とは何か
1-8 特定用途に利用するデータマートはユースケースを想定してつくる
きか」「データマート層に置くべきか」を判断できないときは、時期尚早なのでデータマート層に置く
DHW同様データそのものをデータマートと呼ぶことは他では見たことない
なぜユースケースごとにデータを管理すべきか
1-8 特定用途に利用するデータマートはユースケースを想定してつくる
なぜユースケースごとにデータを管理すべきか
1-8 特定用途に利用するデータマートはユースケースを想定してつくる
一押しは「システムの応答時間が速くなる」。なのでツールが進化すれば将来的には現在の「データマート」は不要になるのかもしれない(Lookerとか)
どのようにデータマートをつくるか
1-8 特定用途に利用するデータマートはユースケースを想定してつくる
どのようにデータマートをつくるか
1-8 特定用途に利用するデータマートはユースケースを想定してつくる
「複数の集計軸×指標」は後で追加変更が頻繁におきるので拡張性を考えたクエリを書くことも大切
現場で生じるデータマート層の課題とその解決法
1-8 特定用途に利用するデータマートはユースケースを想定してつくる
現場で生じるデータマート層の課題とその解決法
1-8 特定用途に利用するデータマートはユースケースを想定してつくる
定期的に見続けるデータは少ないので「データマートをすぐに作らない、あるいはすぐに消えるようにしておく」のも選択肢
まとめ
読んで思ったこと
まとめ
整備の実務について自分もブログ書いています
データ分析とインテリジェンス:https://analytics-and-intelligence.net
質問・疑問などお気軽にご連絡ください @data_analyst_