JDMC会員による「リレーコラム」。
メンバーの皆さんそれぞれの経験・知見・想いをリレー形式でつなげていきます。
今回、バトンを受け取ったのは、アイティプランの會田信弘さんです。
アンチテーゼ:マスタデータは存在しない
先日、公共放送でモーガン・フリーマン氏がナビゲーターを務めた「時空を超えて~時間は存在するのか」を観ました。
宇宙が生まれて140億年、地球ができて46億年、人類が誕生して500万年、その間悠々と時間が流れてきているとばかり思っていました。いや思い込んでいました。しかし番組では端的に言いますと、「一般性相対性理論と量子力学を合わせて考えた場合、“時間”は必然ではない」という天と地をひっくり返すような内容でした。
天と地をひっくり返すと表現しましたが、たかだか500年前の人類は天球が動いているのが常識でしたよね。今は地動説が当たり前。科学の発展が事実を明らかにしてくれました。
私は経歴にありますように、1976年に現在の日本ユニシスにシステムエンジニアとして入社しましたが、それまでは田舎の大学で数学を学んでいました。出来の悪い学生だったと思います。それでも集合論などに取り組み、写像の考えや相関などについて論理の組み立てを学びました。
大学を卒業したばかりの田舎学生も、当時コンピュータを導入する企業に入ればそこでは先生です。アセンブラとCOBOLが得意でしたが、それだけで企業の女性社員からは羨望の目で見られました(それは錯覚だったかもしれません)。
システムエンジニアとして数年経ったときです。それまでオンラインバンキングのフレームワークに携わっており、業務システムが何たるかをほとんど理解していませんでした。ある時、お客様から「仕入伝票処理の仕組みを作ってほしい」と頼まれたのです。私は日常では伝票を扱っていましたが、いざビジネスで処理するのに何が目的なのかが分からず戸惑いました。結果的には在庫管理と売上・利益管理になるのですが、当時は手作業の業務の流れを追って紙の伝票と台帳をファイルシステムで置き換えたに過ぎませんでした。「そうか、ビジネスシステムは台帳と伝票のデータ処理をすればよいのか」と思い込んだのが20代だったのです。
このときの思い込みの1つに、「静的なマスタと動的活動を示すトランザクションという概念がある」というものがあります。今となっては7割正しく、3割は間違えているように思います。後になって、「マスタも動的である」「トランザクションだって静的である」という側面があることを、幾つかの開発を通して理解したわけです。
そもそも「取引」とは何だろう――経済学的には明確な定義があるのでしょうが、当時の丸メガネを欠けた田舎学生上がりの私は、自分で想像してみるしかありませんでした。単純に考えると、別々の「実体」(この定義も必要ですが名詞で表されるものとしておきます。以下オブジェクトと表現します)との相互作用が「取引」であり、一般的には動詞表現されるものだという考えにいたりました。
「A社は取引先B社から商品を仕入れる」という文章表現から、オブジェクトとして会社(自社)、取引先、商品を定義できます。また、「仕入れる」は場所、時間、会計勘定情報、個数情報などを伴い、データの塊として整理が行えます。このデータ表現をトランザクションデータと言いますが、ビジネス機能の連携(イベントの連鎖)がなければ変化せずそれ自体は静的です。
前出のオブジェクトは慣れた言い方では「会社マスタ」「取引先マスタ」「商品マスタ」ですが、時間軸を含まない構造として定義されているケースが多いのではないでしょうか。
本テーマの投げ掛けはその概念に対する問題提起です。例えば、「取引先マスタ」ですが、ビジネス的には約定書が取り交わされ、取引に関する条件は時間と共に変化します。データ上は「取引契約」というトランザクションです。「商品マスタ」もしかりです。 マスタも常に「暗黙の必要属性を持った情報交換」の結果です。今回の整理では、ビジネスで扱うオブジェクト(マスタ)はすべてトランザクションです。即ち時間と空間属性をもったデータなのです。
業務を効率よくこなすために、コンピュータ処理上は定義されたビジネスルールにあったデータ構造を簡潔に実装する必要があります。皆さんの会社の基幹業務のデータベースは、ある意味最適化されたデータベースと言えます。ただし、このことはビジネスに足かせをかけている制約条件であることと表裏一体です。新たなビジネスルールを加える時、データ構造を変化させるためのコストが割り合わないためです。
ビジネス上必要となるマスタは、システム上の実装モデルとは本来関係ありません。ビジネスが発生する時間と場所で必要としているメタスキーマ(オブジェクトの固有のキーとビジネスに必要な属性)が特定できれば、ビジネスは動きます。
表題に「マスタデータは存在しない」と書きましたが、人間の思考回路を合わせるためには文化、習慣、暗黙知を共有できないと成り立たないことも事実です。その意味では従来のマスタ管理システムを否定するものではありません。
しかし、実社会の実体は「同じようなマスタがいくつも存在する」「現場のニーズはすぐに変化する」です。結果的に、情報システム部門に要求されることは「スパゲッティ状態のマスタ管理を何とかしろ!」なのですが、業務上で必要なマスタが企業内に分散して存在していることが現実世界です。マスタ管理上、その対応策は「ビジネスを再整理して制約を加える」か「マスタの存在定義を新たにするか」の2つに大別されると考えます。
「時空を超えて」では、熱平衡の第二法則が正しければエントロピーは常に拡大しカオス状態になる。しかし宇宙は常に平衡であるということも紹介していました。宇宙はあるルールが常に働いているということと私は理解しました。それは重力です。マスタも放っておけばカオス状態になりますが、ある条件の元で平衡を保つルールを定義することがマスタデータマネジメントと私は位置づけています。因果律が崩れるような管理はありえません。
今回のテーマの意図は、「①マスタはトランザクションである」「②マスタは分散して存在する」ということでした。こうして定義をすることにより、ビジネス上必要となるマスタは実存の射影としてとらえ、利用する局面(空間と時間)で仮想マスタを導き出すという提案です。
1960年代から比べると、今のCPUは10万倍から100万倍速くなっており、2000年に比べても1000倍速いそうです。先進的な会社では分散技術を利用した超高速なマスタ管理の取り組みや仮想データベース管理も見聞きするようになってきました。従来の発想から抜けて、新たな考えを取り入れていくことが、ビッグデータやAIの時代に必要になってきているのだと思います。
會田信弘(あいた・のぶひろ)
アイティプラン合同会社代表。内閣官房IT総合戦略室 政府CIO補佐官。1976年4月、日本ユニバック(現日本ユニシス)に入社。静岡支店に配属され金融SEとして従事。1985年より流通システム開発部門に異動。SM向けソリューション開発と顧客適用2003年より、日本ユニシスおよび関連会社の開発マネジメントに従事。エアラインシステム部長、ICTサービスセンター長、システム運用専門子会社のエイタス社長などを歴任。2012年に日本ユニシスを定年退社し、2014年12月、アイティプラン合同会社を設立。また内閣官房政府CIO補佐官に就任し、システム開発に関する助言、支援を行う。