データマネジメントが30分でわかる本
https://gyazo.com/15020ac822d7a9b1324643faaaf58f60
データアーキテクチャ
あるデータどんな業務に貢献しているのか
あるビジネス・業務がどんなデータに依存しているのか
なんか結構具体的な話 & 今のデータを把握する話
どこからデータを取ってどこに保存してどのビジネスに使っているかをメタデータとして保存する
流れを可視化して不適切・非効率な箇所に気づく
データストレージとオペレーション
DB の保守管理
データベース技術を管理
技術選定の話
データベース管理
アクセスログ、RDBMS、セッション、全文検索、エラーログ, etc
DWH 製品は探索的に使えるけど RDBMS のようにトランザクション管理が優れてるわけではない
選定の話
データ統合と相互運用性
データの移動を効率的に管理すること
ETL (Extract & Transform & Load)
BigQuery にどう反映するか
State と Event
データモデリングとデザイン
データ同士の関係性を図示すること
データの関連性を3つのレベルで
概念モデル: サマリ
学校は学生を在籍させるので、学校一覧と学生一覧のデータは紐づく
論理モデル: データ要件、具体的な実装に依存しないもの
学校一覧には学校コードと学校名が含まれる、etc...
物理モデル
ER図や、RDBMS ならテーブル定義のようなものでよさそう
データモデルをメタデータとして管理する
MySQL Workbench 事例
ER図の生成
属性値を考える
なぜそのイベントは発生するのか
イベントは何に影響を及ぼすのか
誰がそのイベントを発生させるのか、誰が関わるのか
いつそのイベントが発生するのか
どこでそのイベントが発生するのか
どのようにそのイベントが発生するのか
どのくらい発生するのか、どういった単位で計測されるのか
分類
時系列で保持する必要がある属性値
ユーザーステータス
何かを調べるためにその時点の属性値が必要なものかな?
原則的に変更されない属性値
生年月日
現在の値のみで大抵の集計に対応できる属性値
居住地、性別
過去の属性値
分析対象となる数値データを格納したファクトテーブル
分析の切り口となるデータを格納したディメンジョンテーブル
なにが星なのか
マスターデータ管理
マスターデータ
最新で、一貫していて、かけてオレず、信頼できることが期待されるデータ
定義の所有者や責任の所在を決定する
データの変更プロセスを定義する
データ統合の一要素として管理を組み込む
ETL として実装する
SLA、評価尺度
マスターデータを参照するルールを決める
一貫した価値を届ける
野良で作られたデータソースを参照させるのではなくマスターを使わせる
ドキュメントとコンテンツ管理
非構造データを管理すること
管理のモチベーションを持ちにくい
非構造化データを台帳にする
データセキュリティ
アクセスルールを定め、監査すること
セキュリティレベル
機密性レベル
公開、社外秘、制限付き機密, ...
規制カテゴリ
個人情報、財務データ、契約上の制限...
セキュリティレベルをメタデータに保存する
要申請の DWH からマスキングされた DWH を作る
データ品質
データを使う人の要求を満たすかどうか
誤集計、課題解決力の低下をへらす
高品質なデータを定義する
ニーズを知る必要がある
サービスレベルを定義・運用する
暗黙的に期待されているサービスレベルをまとめる
定期的に見直す
各テーブルへのクエリ実行数、UU 数を記録する
ETL ジョブにかかる時間を計測する
データウェアハウジングとビジネスインテリジェンス
意思決定を支えるデータを提供すること
ビジネスロジックが組み込まれた中間データを作る、BI ツールでレポーティングする
支援対象となる業務・分析案件を理解する
利用者が効果的な分析と意思決定を行えるように支援する
どう活用するか体験をデザインする
誰がいつどこでなんのためになにをどのように見るか
元データのコピー → 主張指標・頻出データ中間テーブル → ツールから参照
各段階で BQ データセット分けるとか?
メタデータ管理
データを説明するデータを管理すること
データ生成のコンテクスト、データ品質の測定を可能にする
データ分析と調査に要する時間を短縮する
利用者とエンジニアのコミュニケーションを改善する
...
元データ情報へのリンク集を提供
モデリングへの情報を提供したり
BigQuery の description に色々書いたり
データガバナンス
全体指針とルールを定め組織的な意思決定を行うこと
弱い部分を把握する
ポリシーやルールを定める
事例がおもしろい
獲得効率 → 収益効果 へ計測
収益効率をモニタリング
データコネクタの開発を避けるために使う事例