マスターデータの歴史
2023/12/02, last updated 2024/10/10 - ~4 Minutes
マスターデータの歴史について調べてみた
データベースを設計する上で、マスター、トランザクションと分けられていることが多いと思う。 そういった設計手法があるのかと検索してみたが、用語解説的なものしか見つからない。
そこで、マスターデータの歴史を検索してみると、以下のサイトがあった。
A Brief History of Master Data
マスターデータ関して深い洞察を提供している。私は、記事自体おもしろいと思った。
日本語に訳してペーストしたいところだが、著作権上の問題があると思うので、上記ページにアクセスして、ブラウザで翻訳して読んでみてほしい。
権利上、微妙なところだが、ChatGPT で要約すると以下のようであった。(多少編集している)
要約
- マスターデータの概念: マスターデータはビジネスで重要な人、場所、物に関するデータを指し、マスターデータ管理(MDM)はこれらのデータを管理するシステムです。マスターデータは通常、トランザクションデータではありませんが、特定の状況ではトランザクションデータをマスターデータとして使用することもあります。
- データの歴史: データの概念は1640年代に遡り、1939年にウィラード・コープ・ブリントンによって大きく普及しました。1946年にはデータの定義が拡張され、「コンピューターを使用して送信および保存できる情報」として認識されるようになりました。
- マスターファイルの進化: マスターファイルは、1898年にエドウィン G. サイベルスによって発明されたファイリングキャビネットの概念から派生しました。これらは顧客の詳細情報やその他の記述情報を含んでおり、社会保障局などが利用していました。
- マスターデータ管理の誕生と進化: マスターデータ管理は1980年代に誕生し、1990年代には組織全体の統一されたデータビューを提供する手段として発展しました。MDMは、データポリシーの競合や曖昧さを解消し、一貫性のある正確なデータを組織に提供することを目的としています。
- MDMの現代的な応用: MDMは組織内のデータ共有を効率化するために重要であり、顧客情報の統合の欠如などによる問題を防ぐために利用されています。
時系列でのまとめ
- 1640年代: データの概念が生まれ、当時は主に事実として扱われ、科学的研究や数学的問題に使用されました。
- 1890年: ハーマン・ホレリスがパンチカードシステムを設計しました。これは、データの記録と保存の初期の方法の一つでした。
- 1898年: エドウィン G. サイベルスが「ラテラルファイル」を発明し、マスターファイルの概念が誕生しました。
- 1936年: 社会保障局が「死亡」マスターファイルを作成しました。
- 1939年: ウィラード・コープ・ブリントンが「グラフィックプレゼンテーション」という本を出版し、「データ」という言葉が広く普及しました。
- 1946年: データの定義が「コンピュータを使用して送信および保存できる情報」として拡張されました。
- 1950年代と60年代: データ管理が始まり、初期のコンピュータシステムが登場しました。
- 1960年代: 一部の企業でマスターファイルがコンピュータシステムに導入され始めました。
- 1980年代: マスターデータ管理(MDM)が誕生し、組織全体の統一されたデータビューを提供するシステムとして発展しました。
- 1990年代: MDMが組織内のデータ共有を効率化する方法として広く使用されるようになりました。
補足、感想
この記事によると、元々、ラテラルファイルと呼ばれる、ファイリングキャビネット(海外ドラマなどで良く見る引き出し式のファイリングキャビネット?)が発明されたことによってマスターファイル(台帳?)という概念が誕生したようである。 この概念が、コンピュータシステムにも導入された、ということのようだ。
また、ハーマン・ホレリスが考案した、国勢調査用のパンチカードシステムでは、人口の増加と質問の変更が必要になるにつれ、集計が困難になるため、変化しないデータと変化するデータに分類することにしたようである。 この手法が現在でも引き継がれ、マスター、トランザクションに分けられているように思える。
マスター、トランザクションの分類方法についても記載がある。マスターは名詞(顧客、製品、場所など)、トランザクションは動詞、といった戦略で分類するそうである。
個人的には、長年設計に携わっていても、どちらに分類すべきなのか悩むことが多い(よくわかってないだけかもしれないが)。分類だけの問題なのでどちらでも良いのかもしれない。static なのか changing なのかは一つの目安かと思う。static データを上手に設計することによって、データ量の削減、分散化・キャッシュなどによる高速化、などのメリットを得られるかもしれない。