MDM and Canonical Data Models (CDMs)

What is a CDM and what does it have in common with MDM?

A Canonical Data Model (also known as Common Data Model) is a Data Model which
- is independant from all applications
- describes all entities in a company
- is the one and only version of the truth
- is the fundamental logical model of the firm’s business
- might be the industry-standard model for that industry or business
- unifies information fragments at an enterprise level
- is a generic data model that can be plugged into any platform without any dependency on applications
- has to be used by every application
- is the mapping back to each application view of this same subject
- can translate between any two systems/applications
- promotes reusability
- …

A Canonical Data Model is the fundamental logical model for a useful MDM. This CDM is part of a Data Hub. Without a CDM you have to implement interfaces for every application to every application. So you have to implement about n^2 interfaces with n applications who “talk” to each other. With a CDM you have to implement “only” 2*n interfaces.
It’s obvious that the more applications you have to connect to each other the more economic is a CDM/Data Hub.

Some interesting links about that topic:
Canonical Data Model
MDM & Data Modeling
Business Transformation in Action
SOA and Canonical Data Model (CDM)
Canonical data model design principles

Posted in Uncategorized | Leave a comment

How do you get started with MDM?

A very good (and a little bit sarcatic) summary of 5 typical places from where companies have started their MDM projects:
- Departmental Madness
- The Unintelligent Business
- The Sunny ERP Uplands
- The Kaleidoscope
- The Engineer
Link
=> There is no simple and unique way for MDM!
=> There are no typical steps how to get started with MDM
=> You cannot instruct your sales in a simple and straight way
=> Don’t even trust sales who promise you heaven and earth! :-)
Okay, the last is always the truth! *lol*

Posted in Uncategorized | Leave a comment

Data Quality Management – The Most Critical Initiative You Can Implement

How does MDM correspond with Data Quality Management (DQM)?

DQM is in my opinion part of Master Data Management. Maybe DQM is even a precondition for MDM.
Studies have discovered that 15% to 20% of the data in companies are not usable or do have errors. So the importance of DQM should be obvious. The question for the management is: What is the ROI? It’s very difficult to calculate an ROI for DQM. Poor data quality costs American companies about 600 Billion Dollars. Annually! That’s what the Data Warehousing Insitute says at the beginning of this century. PDF-Download
My experience in person: Poor data quality is in most cases a big problem in IT projects! Actually ou client wants to migrate his old master data to the new application we made. The data quality is very poor! Now it’s a big issue to migrate it in time.
This new application is the biggest known APEX project worldwide. We gonna have nearly 200 tables containing master data.

Posted in Uncategorized | 6 Comments

What different kind of MDM-Architecture Style do exist? There are two main styles: Repository and Registry.
Repository means: The complete Master Data is stored in one single database instance (MDM Hub).
Registry means: None of the Master Data itself is stored in the MDM-Hub. Only a list of all keys is stored.

I prefer the Repository, because it’s more simple and sounds more like a relational DB with one single point of the truth. The following problems (sorry: issues) are not as huge as in the registry-style. But – I must admit – in most cases it’s much more work to implement a Repository Hub into an existing appliction environment.

Although this paper is from Microsoft, you can assign it to ORACLE methods… . :-)
Link

Posted in Uncategorized | Leave a comment

Master Data Management and Cloud Computing

What does MDM have to do with Cloud Computing?

As you know – cloud computung becomes more and more relevant. I expect due to the cloud computing success the upcoming external data hosting will gain the need for MDM. The involved applications and their users depend on a high quality of data.
If you don’t care about Data Quality and MDM in your cloud, your data will soon decrease of value, it transforms to data rubbish!

ORACLE-Link

Posted in Uncategorized | 2 Comments

Better Information through Master Data Management – MDM as a Foundation for BI

I found a very practical ORACLE-White-paper about completing a BI solution.
MDM is one leg (out of three) for a complete BI solution. In MHO it is the most important leg!
The other legs: DWH and BI-applications themselves.
Link

Posted in Uncategorized | 2 Comments

US patent on Master Data Management???

I must tell you something.
Today – almost like every day – I searched in the web about MDM. I was very surprised, when I found an US patent for a Master Data Management System.

=> Master Data Management System for centrally managing cached data representing core enterprise reference data maintained as locked in true state read only access until completion of manipulating process.
Patent No.. US 7,213,037 B2
Date of Patent: May 1, 2007
US patent

Isn’t that the way like every RDBMS does ist?

Some minutes ago I found another strange US patent for MDM from SAP:
=> Methods and apparatus, including computer programs products, for sharing data. The technique includes creating at least one data object in a central system, the data object including a complete definition, and dependencies to other objects, mapping at least one data object to other data objects in the central system, and distributing data objects from the central system to one or more client system, where the one or more client systems.
Patent No.. US 7,509,326 B2
Date of Patent: March 24, 2009
US patent

And that’s worth a patent??? Really incredible!

What do you think about that stuff???

Posted in Uncategorized | 9 Comments

Master Data Management Solution Offering by Mike 2.0

Nice introduction of MDM by Mike2.0 (Method for an Integrated Knowledge Environment), an open source methodology for Enterprise Information Management.

=> “Master Data Management (MDM) is really a new turn on an old problem.”
=> “It is not unusual for [...] data to be held in dozens or even hundreds of applications across a large organisation.”
=> “Technology alone will not solve the problem – most of the root causes issues are process and competency-oriented”

Master Data Management Solution Offering

Posted in Uncategorized | 22 Comments

Gartner: The 10 Myths and Realities of Master Data Management

Andrew White, an analyst from Gartner, postulates 10 Myths about MDM:

1: MDM Is About Implementing a Technology
2: MDM Is a Project
3: We Don’t Need MDM; We Have an Enterprise Data Warehouse (EDW)
4: Implementing ERP Means You Don’t Need MDM
5: MDM Is for Large, Complex Enterprises Only
6: Metadata Is “the” Key to MDM
7: MDM Is an IT Effort
8: MDM Is Just Too Big to Do
9: MDM Is Separate to Data Governance and Data Quality
10: It Doesn’t Matter Which MDM Technology Vendor You Use — They All “Do” MDM

But I don’t agree with him at Point 1! MDM is about implementing a technology! You need urgently a software in order to help managing your master data. Yes, it’s as well about understanding your business processes but that’s really not enough. The more data you have the more help you need with an appropriate software or technology.

What do you think?

Gartner: 10 Myths
Article in Computerwoche (in German)

Posted in Uncategorized | 8 Comments

Automatic Rollout

Today, I want to talk a bit about my project and the automatic rollout I implemented.
So, the topic is not MDM, the topic is automatic rollout. I hope you’ll read and comment it anyway! :-)

The project (customer is a German financial service provider) includes more than 400 tables (of which about 160 contains master data), about 50 APEX-forms and a couple of packages, procedures, functions, jobs, etc.
Our database is an ORACLE 11g with APEX 4.1, the operating system is unfortunately Windows. :-)

My mission was to build an automatic rollout by pushing only one button.

I devided every table-script into 6 autonomous scripts:
1. Table-definition with comments
2. Sequence
3. Trigger
4. Indices
5. Constraints
6. Foreign-Keys

I’ve thrown all table-definitions in a separate folder, all sequences in a separate folger, all trigger in a separate… . I’ve thrown all packages in a separate folder, all jobs …., etc. I have added a number to all the names of the package-scripts in order to keep the correct order of the import.

Now, I’ve written some nice batchjobs (for every folder one single batchjob), which take al look at the folder and call a SQL-Plus for every single entry. Around this I implemented another batchscript which calls the batchjobs for the folders. So I have to write the database parameters only one time, I deliver them to every sub-script automatically. There is one main reason for fragmentation the table-scripts. With a fragmentation I am able to import first all tables, then all sequences, after that all triggers, … . And I don’t have to care about the order within the folders.

No fragmentation would have meant that I had to be careful about the implementation order of the tables. Now, I don’t care about the order! And – if I want to import a new table, I only have to throw the parts of the scripts in special folders.

Okay, the real world is a little bit more complicated. :-)
I devided it a second time in “master data” and “dynamic data”. The reason for that? We have to import the “master data” as well. I decided to do that via SQL-Loader and a separated csv-file (As you know in a new folder!) for every master-data-table.

Inserting the master data means that I have to care about the order of inserting. What a mess! I decided to keep the correct order with numbering the ctl-files (in a new folder) consecutively and write a batchjob for the folder of ctl-files. Another way would have been to install the tables without any constraints, insert all data and afterwords enable the constraints again. In this way, I would have to search in a more complicated way for errors. So I decided to go the other way. I belived, that this was the easier way. I belive that was the correct decision.

For ervery single action, I am going to write a log-file in a log-folder in order to see what happens. The last action is again a separate batchjob. I’ve written a batchjob which searches in all log-files for some keywords like ‘ERROR’, ‘ORA-’ or ‘WARNING’ and writes the filename and the line with the finding in a new file. So, at the end, I only have to look at the last one log-file to see how much rubbish I produced. :-)

That was only the very very simplified version of my automatic rollout (and I didn’t tell you about the APEX-rollout). I’m gonna try to create a presentation in which everything will be shown a little bit more detailed and clearer. If I’ll only find some time…. . :-)

What do you think about this proceeding? Do you have some better ideas or some good advices for me? Please tell me!

Posted in Uncategorized | Tagged | 3 Comments