「The Death of Data Modeling - Pt. 1」を読んだときのメモ

6月に[DataEngineering Weekly](https://www.dataengineeringweekly.com/p/data-engineering-weekly-89)で話題になっていた「The [Death of Data Modeling - Pt. 1](https://dataproducts.substack.com/p/the-death-of-data-modeling-pt-1?utm_source=newsletter&utm_medium=email&utm_campaign=DEW89)（データモデリングの死）」という記事の内容が面白そうだったので、要点っぽい箇所をまとめたメモを共有したが、せっかくなのでQiitaにも載せる。

弊社（LIFULL）でもデータ基盤チームが中央集権型なアプローチをしていて、もしかすると将来の問題を先取りできるかもしれないと期待している。

Weeklyでの紹介文はこんな感じ。

> データモデリングは死んだのか？著者はデータモデリングの重要性と、現代のデータテクノロジーにおいてデータモデリングが採用されにくい理由を語ります。中央集権的なデータモデリング・チームという従来のアプローチではスケールしないため、著者はデータモデリングの再考を呼びかけている。

---

（前略）前半はデータモデリングの重要性（データモデリングをしっかりすれば専門家でなくても素直に関連性が理解できる）ことを述べていて、文脈の無いデータが集められることでデータ利用が難しくなっている現状が説明されている


## What does the world look like today?(今の世界はどうなっているだろう？)

> モダンデータスタックの時代、技術優先の企業の新しい波は、堅牢なデータモデリングを超えてしまったようです。Timo Dechau氏（Deepskydata社創設者）によると、よく設計されたデータモデルを持つことは、単なる希少価値ではなく、むしろ重要なことだといいます。
>
> ![https___bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com_public_images_d55d5acd-22a6-4342-822e-7ec70c5b847f_650x244.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127762/c87336c3-3fc9-84da-5b01-917128cbc884.png)
> > （優れたデータモデルを持つことは）時代とともに希少価値が高まっていて、それは100社に1社の割合でしか存在していない。アプリケーションの設計では、データモデルとアーキテクチャを開発するためにホワイトボードに多くの時間を費やすことはごく普通のことです。しかし、データでは、外部の制作者（データ統合ツール、トラッキングツール）がモデルを決定することが多い。
> 
> 今日、データインフラは通常、分類上混乱した状態になっています。ELT (Extract, Load, Transform) システムでは、さまざまなツールやアプリケーションからデータ資産をコンテキストなしにパイプで取り込みます。
>
> * Amplitude、Heap、Mixpanel、SnowplowなどのUIベースの計測プラットフォームから、フロントエンドのトラッキングデータを取り込みます。
> * Salesforce、JIRA、Workday、Zendeskなどの3Pツールからのデータダンプ
> * PostgreSQLのような1stパーティデータベース
> * など...
>
> このデータはポストホックにコアデータレイヤーに結合され、多くの場合、中央のデータエンジニアリングチームによって管理されます。
>
> これによりデータチームは迅速に行動できるようになりますが、強力なデータモデリング文化がなければ、多くの問題や逆インセンティブが発生し、データの負債や衰退を招きます。

そして、以下の4点が **The Problems(問題点)** として挙げられている。

> ### 1.データの生産者が、データの所有権や品質の責任から切り離されてしまっている
>
> ソフトウェア・エンジニアは、データ・エンジニアやデータ利用者にデータを丸投げすることができ、後で誰かがモデル化する方法を見つけてくれるだろうと思ってしまっています。その結果、モデル化が不可能なデータもあれば、JOINや集約を促進するロジックが複雑で、何層もの組織上の知識が必要になってしまうケースもあります。ビジネスロジックを理解していない人たちが、ビジネスの中に紛れ込んでしまい、不信感や重複を生んでしまうのです。
>
> 🔥追加の問題：企業内には常に、データ専門家よりも多くのエンジニアがいる。エンジニアは多くのデータを使ってサービスを構築する。もし、データがモデリングもガバナンスもなくウェアハウスに捨て入れられたら、重複や無秩序になるのは必至です。
>
> ### 2.データエンジニアは、データの生産者と消費者の間の「仲介者」になることを余儀なくされる
> データエンジニアは、データウェアハウスの最初のコアレイヤーを構築することが多く、その結果、新しいパイプラインの要件が現れると、終わりのない数のサービスチケットを通じて、このレイヤーを維持することになります。データエンジニアは多くのチームにまたがって一元的に業務を行うため、データを適切にモデリングするためのビジネスに対する深い理解が不足しており、刻々と変化するビジネスとそのデータニーズに対応するためのマンパワーが不足します。
>
> ### 3.インサイトを得るまでの時間が非常に長くかかる
> データ利用者は、エンティティの統一、文書化されていないビジネスロジックの理解、ネストしたJSONの解析、ソフトウェアエンジニアとの対話による本番テーブルが特定のフィールドを生成する方法の理解などに数日から数週間をかけて取り組んでいます。経営陣やプロダクトオーナーがデータサイエンティストやアナリストに対して単純な質問をしても、「1週間後に連絡します」と言うような状況になります。「このテーブルの行は何を表しているのか「といった質問はよくあります。
>
> ### 4.データはReactiveかActiveか
> データニーズが顕在化すると、データ利用者はウェアハウスに存在するデータを活用しなければなりません。たとえそのデータが新しいビジネス上の疑問を解決するのに適していないとしてもです。データモデルは、本番環境からではなく、ウェアハウスから発展していきます。ギャップが生じると、データ利用者やデータエンジニアは不満を抱き、二者択一に迫られることになります。
>
> 要するに、モデリングがなければ、データウェアハウスは、少数の英雄的データエンジニアの仕事によって緩くまとめられたデータ沼に早変わりしてしまうのです。このようなカオスを「正常な状態」と呼んだり、あるいはデータ基盤チームが仕事をしなかったせいだと勘違いしているチームがあまりにも多いのです。実際には、何年も（時には何十年も）かけて蓄積されたデータ負債の結果なのです。文句を言われなくなるまで問題を放置することで、ある種の構造を確立することは可能ですが、世界で最も資本力のある企業以外にとって、この解決策は絶望的であり、到達することは不可能なのです。「データエンジニアを増やせばいい」というのは、プラットフォームのリーダーたちの間では定番の冗談になりつつあります。

※Reactive, Activeは用語っぽいが正確な意味は不明

特に「ソフトウェア・エンジニアは、データ・エンジニアやデータ利用者にデータを丸投げすることができ」というのは耳が痛い。このような形でデータ専門チームの負担が増えてしまうのは、身の回りでも聞く話だった。


## So why is Data Modeling ‘dead?’ (では、なぜデータモデリングは「死んだ」のでしょうか？)

> ![https___bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com_public_images_d5f0ad5f-e4be-4802-a2d6-099c2117138d_654x288.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127762/d864dd73-f9ca-ac50-31fb-f83648e703b8.png)
>
> > このすべてに同意する。でも、なぜこんな状態になったのかはよくわからない。我々は、何十年にもわたるデータアーキテクチャやモデリングの経験やノウハウをドブに捨て、現代の（データスタックの）世界では古い真実は通用しないと思い込んでしまったような気がする。このことに、もうすぐ多くの企業でこのことが気付かれ始めると思う。データアーキテクトのリベンジ。
>
> マグナスが述べているように、データモデリングは何十年も前から一般的に行われてきたことです。なぜ2020年代には、モデリングは忘れ去られた言葉となってしまったのでしょうか？それは今やローブに包まれ、ボロボロの「企業情報工場」にかがみ込み、ろうそくの明かりで読んでいる最もデータアーキテクトの長老だけが話しているように見えます。
>
> 私の考えでは、それは3つの主要な要因に起因しています。
>
>
> 1. アジャイルの普及
> 1. エンジニア主導の組織への移行
> 1. 導入時の摩擦


この後、これらの要因で「エンジニアリング面での主導は進んだが、特にスタートアップ企業ではデータモデリングの知識が導入されず、その知識もアジャイルの時代に追従できていない」というような話が続く。


## 結論：データモデリングは死んでいますか？ (The Bottom Line: Is Data Modeling Dead?)

「YesとNo」と答えられている。要するに「データモデリングは死ぬわけにはいかず、現代に合ったv2が必要だ。それをPt2以降の記事で議論する」と述べられている。…が今のところPt.2は投稿されてなさそうだ。