データ中心アプローチの特長を表すのに、「プログラムは不安定だが、安定しているデータに依拠している」と言いますが、最初にその話を聞いた時、私が思ったのは「そんな馬鹿な」でした。
「確かにプログラムは保守工程に入ってから修正も度重なり安定している状態であるとは言えませんが、データは、一旦登録された後も、日別・締め別・月別などと処理の中で次々と更新されており、これを安定しているとは言えないだろう」と言うのが正直な感想でした。
もちろんこれは、ビジネス上の事実を記録したデータと、そのデータから二次的に導出されるデータの違いなど、データの区別と性質が理解出来ていなかったためです。
と言うことで、今回は先ず、データの安定性を中心にデータの種類と、その特徴について説明します。
ISO9000シリーズなどのおかげで、今や「文書」と「記録」の違いは常識となりました。
文書は、必要に応じて適宜改訂・変更し、版を重ねて使いますが、記録に変更はありません。
「記録」は存在や発生などの事実を記録したものなので、誤って記録してしまったことを正すことはあっても、記録を改訂したり変更したりすることは有り得ないのです。
(一旦発生した「売上」と言う事実は無かったことには出来ません。 これを記録した売上データも変更や削除は出来ません。 ちなみにキャンセルや金額変更などは新しい別の事実として記録します。)
「記録」は全て事実に基づいて行われるので、これを恣意的に変更することを「改竄」、作ることを「捏造」、消すことを「隠蔽」と表現しますが、これらは何れも通常悪用する場合の表現です。
ビジネスの要素を説明し、記録するために必要なデータ項目は、ビジネスによって決まっているので、ユーザインターフェースの要求やシステム・プログラムの作りなどに左右されることがありません。
つまり、データ中心アプローチは、変更されることの無い、記録としてのデータを拠り所としているので、安定したシステム構築が可能となると言う理屈です。
確かに、現実のビジネスで起こった事実を記録するデータだけであれば、その発生の単位を把握することも容易で、データ分析も簡単に出来るでしょう。
しかし、一方に冒頭紹介したような頻繁に更新されるデータが存在することも事実です。
つまり、データは1種類で全てが同じ性質であるという訳では無いのです。
これを適切に分類し、それぞれの類型ごとに適切な扱いをしていかないとデータ中心アプローチは成り立ちません。
安定したデータに依拠したつもりが、不安定なデータを頼りにしていたのでは、安定したシステムを構築するのは難しくなってしまいます。
そこで、それぞれに適切な扱いを考えるために、データの分類を検討して見たいと思います。
なお、文中「データ」と表現しているのは、もちろん「データ項目」(売上数量・商品名称)のことで、「データ」自体(3個・チョコレート・300円など)のことではありません。
話(文章)の調子で一々「データ項目」とは断っていませんが、ここで3個・チョコレート・300円に関する議論はないので、このあとも全て「データ」は「データ項目」とご理解下さい。