Thursday, August 24, 2006

Definition of Canonical Data Model

As a way of introduction, this first posting will give you a rough insight into my vision of what a canonical data model is (or a ‘CDM’ for short).

Definition of a CDM
As I see it, and like its name would suggest, a CDM is a data model. Hence, it should give a vision, in data modeling terms, on a specific domain of interest. It could, for example, list

· what kind of things are perceived relevant to the domain at hand (and how we call and define them)
· what sorts of information about these things are of interest to the domain
· how and where these information types are represented in our IT systems

In addition to this, a CDM might tell you, among other things
· who in your organization should be allowed to do what with these types (or who should not!)

The exact content of a CDM is of course strongly influenced by the applications you have in mind (see Applications of a CDM), but it seems to me that the above mentioned information is kind of basic.

However, not all data models that contain all of this information about a domain are a CDM. The addition of the term ‘canonical’ indicates that this model has a special status within an organization, or at least, it is expected to have such status. Whether it actually has is quite something else ;-)

This special status holds that this model, or more specifically its content, is to a large degree accepted as a common data standard within the organization. There is however a lot of pitfalls to this simple statement, enough for its own series of blog postings and plenty of discussion.

For now it suits me to state that a CDM is a data model that is intended to be as commonly accepted as possible at any moment in time, within the limits of an accepted level of ambition and the assets available (for instance: time).

This simply means that your canonical model will not only grow in size, as time progresses, but also in quality and ‘acceptability as a common standard’. It seems very unrealistic to me to expect any model to be commonly accepted from its conception, not even a small model.

Lastly, IMHO, a CDM is intended to eventually cover the complete organization, and to become an enterprise wide data model.

5 Comments:

At 24/8/06 22:22, Anonymous Anonymous said...

Hi Maarten,

Good story. I agree with you. I'm looking forward to your next postings.

I wish you good luck and much traffic.

Jack

 
At 4/9/06 21:16, Anonymous Anonymous said...

Serious stuff! I'm not an expert, but it looks "valid".

greetz, Arne

 
At 31/1/07 17:00, Anonymous Anonymous said...

I find it interesting you did not mention external data standards (for instance xml.org) in relation to a canonical model. Thoughts?

 
At 1/2/07 09:07, Blogger Maarten said...

Hi Anonymous,

You're right, up til now I haven't written anything about external standards (ES-es), although this is an important topic in relation to a CDM.
I have a few postings on it in the pipeline, however, and I plan to post the first one within a few days. I believe there are a few interesting things to say about the combination of ES-es and CDMs. Keep reading!

Best wishes,

Maarten

 
At 15/10/07 15:31, Anonymous Anonymous said...

so is a cdm simply a er diagram that has been accepted as the company standard?

 

Post a Comment

<< Home