7.7

View in English

7.7 データモデリングとセマンティックレイヤー

概要と動機

データモデルとは、データがどこに住むかを決める前になされる、データが何を意味するかについての決定です。ビジネスが気にする物事、それを記述する属性、それらの間の関係に名前を付けます。ストレージ、インデックス、ファイル形式、クエリエンジンはすべて後に来ます。この順序が重要なのは、データの意味が、それを保持するために使うどんな技術よりも長生きするからです。ウェアハウスは入れ替えられ、テーブル形式は変わり、クエリエンジンは現れては消えますが、「顧客」「注文」「アクティブユーザー」は、そのすべてにわたって何年も同じ意味でなければなりません。

小さなチームにとって、モデリングはしばしば暗黙です。一人のエンジニアがスキーマ全体を頭に保ち、「収益」の共有された理解は、意見が分かれる人が三人しかいないので生き延びます。大きな開発者組織、企業、政府機関の規模では、その非公式さは、7.1章(データ戦略とガバナンス)で述べられたまさにその形で崩れます。数十のチームが数百のテーブルを築き、それぞれが「セッション」が何か、ユーザーがいつ「アクティブ」に数えられるかについて独自の考えを持ちます。二つのダッシュボードが同じ週に二つの異なる数字を示し、リーダーシップの会議は次に何をするかではなく、誰のクエリが正しいかの議論になります。悪いモデリングは自らを告げません。数か月後に、突き合わせの作業、失敗した監査、誰も擁護できない数字に基づく決定として現れます。

本章は、その仕事を意図して行うことについてです。概念、論理、物理のモデル、エンティティ・リレーションシップのモデリング、いつ正規化しいつ非正規化するか、トランザクション対分析のワークロードでモデリングがどう異なるか、事実とディメンションを伴うディメンショナルモデリング、そしてあらゆるビジネス指標の一つの統治された定義を保持するセマンティックレイヤーを扱います。見返りは、それ自体のための優雅さではありません。「アクティブユーザー」と「収益」がどこでも一つの意味を持つので、チームが数字を信頼でき、その結果、より速く動けることです。

関連項目: 3.4章(データアーキテクチャとストレージ)、7.3章(分析とビジネスインテリジェンス)、11.5章(重要業績評価指標)。

主要原則

  • データがどこに住むかを決める前に、それが何を意味するかを決めます。
  • 三つのレベルでモデル化します。概念(ビジネス)、論理(構造)、物理(実装)。
  • トランザクションのシステムでは正しさを守るために正規化し、分析の速度のために意図して非正規化します。
  • モデルをワークロードに合わせます。トランザクションと分析は、反対のニーズを持ちます。
  • すべてのビジネス指標には、ちょうど一つの統治された定義があり、それはセマンティックレイヤーに住みます。
  • 適合したディメンションにより、独立したチームが安全に結合し、比較できます。
  • グレイン(粒度)は、クエリの偶然ではなく、意図してなす設計上の決定です。
  • モデルは生きた資産です。よく名付け、文書化し、進化可能に保ちます。

推奨事項

三つのレベルで、順序どおりにモデル化する

意味から外へ向かって作業します。概念モデルから始めます。ビジネスが気にするエンティティとそれらの関係を、ドメインの専門家が確認できる平易な言葉で書く。「顧客は多くの注文を行い、注文は多くの明細行を含み、各明細行は一つの製品を参照する。」キーも型もテーブルもまだありません。それから構造を加える論理モデルを築きます。属性、主キーと外部キー、カーディナリティ、制約で、まだ特定のデータベースから独立しています。エンティティ・リレーションシップのモデリングがここでの標準の表記で、エンティティ・リレーションシップ図は、エンジニアとビジネスのステークホルダーの両方とレビューする成果物です。それからようやく、物理モデルを作ります。選んだエンジンの実際のテーブル、列、データ型、インデックス、パーティション、ストレージのレイアウト。物理設計に飛ぶことは、最もよくあるモデリングの間違いです。今日の技術の選択を、それより長生きすべき決定に焼き込むからです。

トランザクションのシステムは正規化し、分析のシステムは意図して非正規化する

トランザクションを記録するシステムには、データベースの正規化を好みます。正規形は冗長性を取り除き、各事実が一度保存されるようにし、更新異常を防ぎ、多くのユーザーが同時にデータを変えるとき、書き込みを正しく保ちます。これは、どの単一の分析クエリの速度よりも、同時の書き込みのもとでの正しさが重要なオンライントランザクション処理(OLTP)の正しい既定です。分析のシステムは反対の優先順位を持ちます。読み取りが多く、巨大な範囲をスキャンして集計し、クエリ時に数十の正規化されたテーブルを結合することは、遅く推論しにくい。そこでは意図して非正規化し、関連する属性をまとめて、クエリを単純で速くします。規律は、冗長性が偶然に忍び込むのを許すのではなく、文書化された理由を伴って意図して非正規化することです。3.4章(データアーキテクチャとストレージ)は、各パターンを高性能にするエンジンを扱います。

分析にはディメンショナルモデリングを使う

分析のワークロードには、ラルフ・キンボールが広めたアプローチであるディメンショナルモデリングを採用します。世界を事実とディメンションに分けます。ファクトテーブルは、ビジネスプロセスの測定を保持します。販売の金額、通話の長さ、出荷の数量。ディメンションテーブルは、フィルタしグループ化する記述的な文脈を保持します。顧客、製品、店舗、日付。一つのファクトテーブルをそのディメンションで囲んで配置すると、アナリストが理解しやすくエンジンがクエリしやすいスタースキーマになります。それらのディメンションをサブテーブルに正規化すると、スノーフレークスキーマになり、結合と複雑さを増やす代わりにストレージをいくらか節約します。具体的な理由がない限り、スターを好みます。監査可能性と源の追跡が支配的な非常に大きく高度に規制された環境では、データボルトのアプローチが、履歴と系統を積極的に捉えるためにハブ、リンク、サテライトをモデル化し、より多くのテーブルとより急な学習曲線を代償にします。ほとんどのチームは、キンボール流のスターから始め、監査の要件が正当化するときにだけ、データボルトに手を伸ばすべきです。

グレインを固定し、変化するディメンションを明示的に扱う

ファクトテーブルに一つの列を加える前に、そのグレイン、つまり一行が正確に何を表すかを述べます。「注文の明細行ごとに一行。」「ユーザーと日ごとに一行。」グレインは正しいモデルの基盤です。すべての測定とすべてのディメンションは、そのグレインに合うか、テーブルに属さないかのどちらかだからです。グレインを混ぜることが、二重に数えられた収益が生まれる方法です。それから、ディメンションが時間とともにどう変わるかを決めます。顧客が新しい都市に移ります。古い値を上書きするか、完全な履歴を保つか、現在と一つ前の値だけを追跡するか。これらが標準の緩やかに変化するディメンションのパターンで、間違って選ぶと、過去のレポートが静かに過去を書き換えます。グレインと変更の戦略を最初に決め、モデルの文書に書き込み、レビューで線を守ります。

一つのセマンティックレイヤーを、すべての指標の単一の定義として築く

これは、本章全体の元を取る推奨です。セマンティックレイヤーは、物理テーブルとそれを消費するすべてのツールの間に座り、各ビジネス指標の一つの統治された定義を保持します。「アクティブユーザー」は、どのイベントが数えられ、どの窓で、どの内部アカウントを除くかという正確なロジックとともに、コードとして一度定義されます。「収益」は、返金、割引、通貨換算の扱いを含めて、一度定義されます。すべてのダッシュボード、ノートブック、レポート、リバースETLのジョブは、オーダーメイドのクエリで再実装する代わりに、その定義を読みます。定義が変わるとき、一か所で変わり、すべての消費者が一緒に更新されます。これが、統治された指標の定義を願望ではなく現実にする仕組みで、11.5章(重要業績評価指標)が求めることの直接の実装です。7.1章がデータをプロダクトとして扱うよう求めるのとまさに同じように、指標の定義を、所有者、レビュー、テストを伴うバージョン管理されたコードとして扱います。

慣習、命名、文書化を確立する

一貫性は機能です。命名規則を採用し、徹底します。テーブル名の規則、キーの規則、日付の列の標準、ファクトとディメンションの印の付け方のルール。エンティティ名を単数か複数かを一度決めて、決して混ぜないでください。各モデルを、それを使う人々が探す場所に文書化します。すべてのテーブルの意味、すべてのファクトのグレイン、すべての指標の定義、それぞれの所有者。良い命名と文書化は、新しいアナリストがチームを中断せずに自力で使えるようにするもので、監査人が、案内なしに取締役会の資料の数字を源までたどれるようにするものです。

モデルを進化可能に保つ

モデルは変わるので、変化のために設計します。既存の列を転用するのではなく、列を加えます。源のシステムの自然キーの変更がウェアハウス全体に波及しないよう、サロゲートキーを使います。指標の定義にバージョンを付け、実行中のダッシュボードの下で静かに変えるのではなく、通知とともに非推奨にします。変換をバージョン管理に置き、テストしてレビューし、「アクティブユーザー」の意味の変更が、BIツールでの静かな編集ではなく、差分と承認者を伴うプルリクエストになるようにします。安全に進化できないモデルは、人々が回避するモデルになり、シャドーの定義が、単一の真実の源が死ぬ方法です。

トレードオフ: 長所と短所

アプローチ長所短所最適な場合
正規化(第3正規形)正しい書き込み、冗長性なし、柔軟分析の結合が遅い。複雑なクエリOLTPと運用システム
スタースキーマ(キンボール)速く、直感的で、アナリストに優しいいくらかの冗長性。保守すべきETLほとんどの分析とBI
スノーフレークスキーマストレージが少ない。よりきれいなディメンション結合が増える。複雑さが増す大きく、厳しく統治されるディメンション
データボルト完全な履歴。監査可能。機敏な読み込み多くのテーブル。急な学習曲線高度に規制され、監査が重い
モデルの上のセマンティックレイヤーどこでも一つの定義。ツールに依存しない事前の構築。所有が必要複数チーム、複数ツールの組織

中心的な緊張は、単一のクエリの速度対、資産全体にわたる正しさと柔軟性です。正規化は正しさを守り、クエリの複雑さで払い、ディメンショナルモデルはクエリの速度と明晰さを買い、ETLといくらかの管理された冗長性で払います。普遍的な勝者はなく、だから好みを選ぶのではなく、モデルをワークロードに合わせるのです。セマンティックレイヤーは、多くのチームと多くのツールの間の二つ目の緊張を、指標の定義をそのどれにも依存させないことで解決します。間違いは、これらをイデオロギーの陣営として扱うことです。健全な組織は、正規化されたOLTPシステム、そこから供給されるディメンショナルな分析モデル、その上の一つのセマンティックレイヤーを動かし、それぞれが得意な仕事をします。

チームで議論すべき問い

  1. 二つのダッシュボードが同じ指標で異なる数字を示すとき、誰の定義が勝ち、その定義は物理的にどこに住んでいますか。 この問いは、本当に単一の真実の源があるのか、あると信じているだけなのかを露わにします。ほとんどの大きなチームでは、誠実な答えは、「アクティブユーザー」が十数の異なるクエリで再定義されており、勝者は会議で最も大声で論じる人だというものです。本物の証拠を持ち込んでください。一つの指標を選び、それが計算されるすべての場所を見つけ、ロジックを一行ずつ比べます。窓、除外、エッジケースについての静かな不一致が、ほぼ確実に見つかります。答えは、各指標がレビューされたコードとして一度定義されるセマンティックレイヤーを築く決定を駆動すべきで、問いが人についてではなく、バージョン管理された成果物についてになります。その定義が単一の物理的な住処を持つまで、すべての突き合わせは一時的です。

  2. 最も重要なファクトテーブルのグレインは何で、部屋の全員がそれを同じように述べられますか。 グレインは、ほとんどのモデリングの失敗がさかのぼる、静かな基盤です。チームの半分が「注文ごとに一行」と言い、残りの半分が「明細行ごとに一行」と言うなら、収益のレポートで表面化するのを待つ二重計上のバグがあります。実際のテーブルを持ち込み、各人に一行を一文で説明してもらってください。ここでの不一致は、なだめるべきコミュニケーションの問題ではなく、より多くの測定がその上に積み上がる前に直すべき設計上の欠陥です。答えはモデルの文書に書かれ、レビューで徹底されるべきです。アナリストがあいまいなグレインの上にクエリを築くと、あいまいさは訂正するより速く広がるからです。

  3. このモデルは変化をどう吸収し、定義が移ったとき、昨年のレポートはどうなりますか。 すべてのモデルは、変わる源のシステム、変わるビジネスルール、変わる指標の定義に直面するので、本当の問いは、変更が管理されたプルリクエストか、履歴を書き換える静かな編集かです。最近の例を持ち込んでください。定義が変わった指標、あるいは名前が変わった源のキーで、既存のダッシュボードに何が起こったかをたどります。緩やかに変化するディメンションが上書きで扱われたなら、過去のレポートは過去の値を静かに変えたかもしれず、それは傾向分析や規制対象のレポーティングを行う人にとって深刻な問題です。答えは、サロゲートキー、バージョン管理された指標の定義、明示的な変更の戦略、レビュー付きでバージョン管理に置かれた変換へと向かわせるべきです。誰も安全に変えられないモデルは、人々が放棄するモデルになります。

  4. どのディメンションがすべてのチームで同じ意味を持たなければならず、それぞれを所有する責任は誰にありますか。 適合したディメンションは、マーケティング、財務、運用がデータを結合して比較可能な答えを得られるようにするものですが、「顧客」「製品」「地域」「日付」が、チームごとの私的なコピーではなく、一つの合意された定義を持つ場合にだけです。相反する引力は自律です。各チームは自分の世界を自分のペースでモデル化したく、共有のディメンションを強いることは短期的には彼らを遅くしますが、資産全体にわたって見返りがあります。最も多くのチームをまたぐレポートに現れる二、三のディメンションを持ち込み、今日存在するそれぞれのすべてのバージョンを列挙し、それらのキーと属性が実際にどれだけ分岐しているかを見てください。各適合したディメンションに所有者を名指ししてください。所有者のない共有のディメンションは、四半期のうちに私的なコピーへと漂い戻るからです。ある部門の数字が別の部門のものと公に比較される企業と政府の設定では、適合していないディメンションは、誠実な比較と偶発的な虚偽の違いなので、どのディメンションが中央で統治され、どれが局所に留まるかを早く決めてください。

  5. 正規化されたトランザクションのシステムと非正規化された分析モデルの境界はどこにあり、すべての非正規化は意図した決定ですか。 モデルをワークロードに合わせることが中核の規律ですが、境界はまさにそれがぼやける所です。アナリストが速度のためにウェアハウスのテーブルを非正規化し、エンジニアが習慣でレポーティングのテーブルを正規化し、各選択がどちら側に属するか誰も書き留めなかった。緊張は、単一のクエリの速度対、すべてにわたる正しさと柔軟性で、道理をわきまえた人々は、書き込みを所有するか読み取りを所有するかによって異なる所に着地します。最も遅い分析クエリと最も競合するトランザクションのテーブルを持ち込み、それぞれの冗長な列について、その冗長性が文書化された理由で選ばれたのか、偶然に忍び込んだのかを問ってください。目標は、純粋さの競争ではなく、非正規化がいつ許され、誰が承認するかの書面のルールです。大きなあるいは規制対象の組織では、この境界は個人データが重複する場所も決めるので、文書化されていない非正規化は、性能の問題であり、誰かがいずれ監査人に説明しなければならないデータガバナンスの露出でもあります。

  6. セマンティックレイヤーは作るか買うか。そして一度存在したら、すべての指標の定義を最新に保つ責任は誰にありますか。 セマンティックレイヤーは、所有され保守される場合にだけ、単一の真実の源を届けるので、ツールの選択は、「収益」の意味の変更を誰がレビューし、定義が古くなったとき誰が責任を負うかへの答えより重要ではありません。相反する考慮は本物です。作ることは制御を与えスタックに合いますが、エンジニアリングの負担を加え、買うことは、メトリクスツールをより速くしますが、ロックインと、完全には制御できない定義言語のリスクがあります。最も賭け金の高い少数の指標、今日それらを消費するツール、誰かが現在それらの定義を所有しているのか、単にそれらが存在するだけなのかについての誠実な見立てを持ち込んでください。定義が、名前のある所有者とテストを伴う、バージョン管理されたコードとして存在するかを最初に決めてください。誰も保守しないセマンティックレイヤーは、置き換えるはずだった散らばった定義と同じものに腐るからです。公的なダッシュボードの指標が、文書化されレビューされた定義にたどれなければならない企業と政府のレポーティングでは、その所有と、数字の系統を証明する能力が、セマンティックレイヤーを便利さから監査可能な統制に変えます。

セクター別の視点

スタートアップ。 モデリングは待てますが、定義は待てません。二人のエンジニアと、ウェアハウスを築く猶予がないなら、変換ツールに小さなセマンティックレイヤーを一つ置き、取締役会が実際に見る二、三の指標、「アクティブユーザー」と「収益」を、テストされたコードとして一度定義してください。データボルトと手の込んだディメンショナルなスキーマは飛ばします。薄いスターと少数の統治された定義が、デリバリーを遅らせずに一貫した数字を買います。見返りは、取締役会の準備が、誰のクエリが正しいかの議論でなくなることです。

小規模事業者。 データモデラーも、メトリクスプラットフォームの予算もないので、すでに動かしているツールに組み込まれた定義に頼り、重要な少数のものを、全員が読む一つの共有の文書に書き留めてください。人員を置けないウェアハウスを立ち上げるより、既存のソフトウェアに埋め込まれた分析を買うことを好みます。モデル化する所では、単純に保ち、一貫して名付けてください。来年それを保守する人が、なぜ「顧客」が二つの意味を持ったか思い出せない人かもしれないからです。一貫性は突き合わせより安い。

大企業。 問題は、多くのチームと多くのツールが私的な定義へと漂っていくことなので、適合したディメンション、一つの統治されたセマンティックレイヤー、所有者とレビューを伴うバージョン管理されたコードとしての指標の定義に投資してください。一つのツールの数字が別のツールの同じ数字と一致するよう、資産全体で命名、グレインの宣言、緩やかに変化するディメンションの戦略を標準化します。セマンティックレイヤーを、ロードマップと所有チームを持つプロダクトとして扱い、それが取り除く突き合わせの時間を測定します。見返りは、事業全体で信頼される数字と、取締役会の資料から源まできれいにたどる監査です。

政府。 透明性と機関をまたぐ比較可能性が仕事を形づくります。地理と人口統計の正規の参照データ、中核の指標の統治された定義、公衆が公表された数字を文書化された定義までたどれるよう、公表された方法論とバージョン管理されたリリース。調達規則は、モデルと定義が可搬でベンダー中立に保たれることを求めるかもしれないので、一つの独自のツールにロックされたセマンティックレイヤーは避けてください。個々の機関は運用データのモデル化を自由に行いつつ、全国で報告されるものについては共有のディメンションに適合させます。バージョン管理された定義にたどれない公表された指標は、データと同じくらい説明責任の失敗です。

事例

スタートアップ。 シリーズAの会社には、「アクティブユーザー」の三つの定義が三か所に住んでいました。プロダクト分析のツール、財務のスプレッドシート、投資家向けの資料。数字は決して合わず、取締役会の準備のたびに大慌てになりました。二人のエンジニアが、変換ツールに小さなセマンティックレイヤーを導入し、「アクティブユーザー」と「月次経常収益」を、正確な窓と除外を書き留めた、テストされたコードとして一度定義しました。すべてのダッシュボードがそれらの定義を読むようになりました。取締役会の準備の議論は消え、新しいアナリストのオンボーディングは、一週間の暗黙知から、一つの文書化されたモデルを読むことになりました。これは、7.4章(プロダクト分析と実験)で述べられた規律に直接つながります。「アクティブ」の安定した定義こそ、実験の結果を比較可能にするものです。

大企業。 世界的な小売業者は、マーケティング、財務、サプライチェーン、商品企画、店舗にわたって五つのビジネスインテリジェンスのツールを動かしており、それぞれが「粗利」を少しずつ違って再発明していました。キンボール流のウェアハウスの上に、適合したディメンションを伴う一つのセマンティックレイヤーを築き、「製品」「店舗」「日付」がすべてのファクトテーブルとすべてのツールで同じ意味を持つようにしました。各指標は一度定義され、あらゆる所で消費されます。四半期あたり数日を食っていた突き合わせの会議はほとんど消え、財務が返品が粗利に与える影響の扱いを変えたとき、変更は五つのツールすべてに一度に伝播しました。適合したディメンションが、独立したチームが疑いではなく自信をもってデータを結合できるようにしたものでした。

政府。 ある国の政府は、保健、労働、教育の機関にわたる比較可能なレポーティングを必要としていましたが、それぞれの機関は歴史的に「世帯」「地域」「雇用」を独自に定義していました。機関横断の組織が、共有の参照データと標準の定義を確立しました。地理と人口統計の正規のディメンションテーブル、中核の指標の統治された定義で、方法論とバージョン管理されたリリースとともに公開されます。個々の機関は運用データを独自にモデル化しますが、全国で報告されるものについては共有のディメンションと定義に適合します。その結果、ある機関の数字を別の機関のものと誠実に比較でき、公衆は公表された指標を文書化された定義までたどれ、7.1章で扱われた透明性の義務を支えます。

ビジネスケース: 動機、ROI、TCO

良いモデリングとセマンティックレイヤーの見返りは、主に取り戻された時間と避けられた誤りです。多くの組織で、アナリストは時間の大半を、データを見つけ、衝突する数字を突き合わせ、他の人がすでに書いた定義を再構築することに費やします。各指標の単一の統治された定義は、その繰り返しの仕事を一度きりの投資に変えます。また、高価な失敗のカテゴリー全体を取り除きます。取締役会の資料の間違った数字、監査の指摘を引き起こす誤って報告された数字、二つのチームが「収益」を異なって定義したために存在するだけの四半期にわたる突き合わせのプロジェクト。定義が一つのレビューされた場所に住むとき、それらの失敗はおおむね起こらなくなります。

コストは本物で、名指しする価値があります。概念と論理のモデリング、セマンティックレイヤーの構築と投入、定義を最新に保つ継続的な所有に、前もって投資します。総所有コスト(TCO)には、ツール、モデリングとアナリティクスエンジニアリングの時間、モデルがずれないようにするガバナンスが含まれます。しないコストと量ってください。それはより大きいが隠れています。重複したパイプライン、人間の突き合わせエンジンとしてのアナリスト、誰も擁護できない数字に基づいて自信をもって決定する経営者として現れます。リーダーシップには彼らの言葉で論拠を示してください。すべての指標の一つの信頼された定義が、事業全体で比較し、ダッシュボードを信頼し、慌てることなく規制当局に答えられるようにするものです。突き合わせの痛みが最も大きい所から始め、それらの少数の指標を一度定義し、取り戻された時間に残りの資金を出させます。

アンチパターンと落とし穴

  • 物理テーブルに直接飛び、今日の技術を、それより長生きすべき決定に焼き込むこと。
  • すべてのダッシュボードで同じ指標を独立して定義し、二つの数字が一致しないこと。
  • グレインを述べないまま、収益のレポートで二重に数えられた測定を発見すること。
  • 文書化された決定ではなく、偶然に分析のテーブルを非正規化すること。
  • 分析のウェアハウスを、すべてのクエリが誰も理解しない12テーブルの結合になるまで正規化すること。
  • 緩やかに変化するディメンションを上書きで扱い、過去のレポートが過去を静かに書き換えること。
  • あらゆる所で自然キーを使い、源のシステムのキーの変更がウェアハウス全体に波及すること。
  • 所有者のないセマンティックレイヤーを築き、定義がずれて信頼が侵食されること。
  • モデルをローンチ時に完成したものとして扱い、進化可能に保たれるべき生きた資産として扱わないこと。

成熟度モデル

  • レベル1、開始: モデリングは暗黙で反応的です。テーブルは、必要とする誰かによって物理優先で設計されます。指標はすべてのレポートで再定義され、数字は日常的に衝突します。グレインは文書化されず、誰も定義を所有しません。
  • レベル2、発展: 一部の分析のテーブルはディメンショナルなパターンに従い、少数の主要な指標には書面の定義がありますが、それらはwikiに住んでいて徹底されません。命名規則は紙の上に存在します。実践はチームごとに異なり、突き合わせは依然として頻繁で手作業です。
  • レベル3、標準化: 概念、論理、物理のモデルが区別され、レビューされます。セマンティックレイヤーが、所有者を伴うバージョン管理されたコードとして、中核の指標を一度定義します。適合したディメンションにより、チームが安全に結合できます。グレインと緩やかに変化するディメンションの戦略が文書化され、組織全体のレビューで徹底されます。
  • レベル4、管理: モデルの資産群がベースラインに対して測定されます。指標の定義のカバレッジ(セマンティックレイヤーが仕える報告された指標の割合)、まだ使われている重複あるいはシャドーの定義の数、四半期あたりの突き合わせの時間、本番ではなくレビューで捉えられたグレインと系統の欠陥の率を追跡します。定義の変更は、テストを伴うレビューされたプルリクエストを通って流れ、鮮度、テストの合格率、ずれがダッシュボードで観察されます。指標が分岐したりディメンションが適合しなくなったりしたとき、測定が、取締役会の会議より先にそれを表面化させます。
  • レベル5、オーケストレーション: すべての重要な指標に、すべてのツールとチームが消費する、一つの統治された定義があり、セマンティックレイヤーは分析、実験、規制対象のレポーティングと統合されています。モデルは設計により進化可能で継続的に洗練され、定義は組織全体で信頼され、突き合わせの仕事はおおむね消えました。組織は、ビジネスが変わるにつれて、新しいディメンションを日常的に非推奨にし、再スコープし、適合させ、モデルの資産群を適応的な資産として再均衡します。

議論のためのアイデア

  1. 最も重要な三つの指標を選んでください。それぞれの異なる定義が今日ツールにわたっていくつ存在し、それを一つに畳むには何が必要ですか。
  2. 述べられていないグレインが本物のレポーティングの誤りを引き起こしたのはどこで、気づくまでどれだけかかりましたか。
  3. どのディメンションを最初にチーム間で適合させるべきで、誰がそれらを所有しますか。
  4. 指標の定義はレビュー付きでバージョン管理されていますか。それとも、BIツールの中で静かに編集可能ですか。
  5. 緩やかに変化するディメンションが最後に誰も気づかずに履歴を書き換えたのはいつで、次はどう捉えますか。
  6. 明日ウェアハウスのエンジンを置き換えたら、モデルの意味のどれだけが移行を生き延びますか。

要点

  • データモデリングとは、データが何を意味するかを決めることで、その意味は、選ぶどんなストレージ技術よりも長生きします。
  • 三つのレベルで順序どおりにモデル化します。概念、次に論理、次に物理。
  • トランザクションのシステムは正しさのために正規化し、分析のシステムは速度のために意図して非正規化します。
  • 分析には、事実、ディメンション、述べられたグレインを伴うディメンショナルモデリングを使います。
  • すべてのビジネス指標があらゆる所で単一の統治された定義を持つよう、一つのセマンティックレイヤーを築きます。
  • 適合したディメンションにより、独立したチームが自信をもってデータを結合し、比較できます。
  • よく名付け、文書化し、サロゲートキーを使い、定義にバージョンを付けて、モデルを進化可能に保ちます。

参考文献とさらなる読み物

  • Ralph Kimball and Margy Ross, The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modelling.
  • Bill Inmon, Building the Data Warehouse.
  • Dan Linstedt and Michael Olschimke, Building a Scalable Data Warehouse with Data Vault 2.0.
  • Peter Chen, “The Entity-Relationship Model: Toward a Unified View of Data,” ACM Transactions on Database Systems.
  • E. F. Codd, “A Relational Model of Data for Large Shared Data Banks,” Communications of the ACM.
  • C. J. Date, An Introduction to Database Systems.
  • Lars Rönnbäck and colleagues, writings on anchor modelling.
  • DAMA International, DAMA-DMBOK: Data Management Body of Knowledge.