Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Data modeling software: How to choose between custom and commercial

Should you build custom data modeling applications or buy data modeling software? Get an expert's take, plus see how using a conceptual data model plays a vital role in each method.

Should we build a custom data modeling application or buy commercial data modeling software? Are there any differences in both approaches? And, if not much, is there any specific care that needs to be taken in the case of buying data modeling products?

Data modeling will be significantly different for COTS (commercial off-the-shelf) applications vs. custom applications. There will be varying degrees of ability to change the data model for a COTS application, ranging from impossible (e.g., proprietary data storage and unpublished data models) to moderately difficult. Some COTS applications enable users to create and implement a logical data model (LDM) without allowing any direct control over the physical data model. Others (SAP, for example) may allow you to create additional tables and columns — but this is done through the application itself. Where it is technically possible to change a physical data model (if, say, the application uses a non-proprietary database for which you have DBA permissions and the data model is published), one should really think twice before attempting to change it due to the risk of invalidating support agreements.

One data modeling skill set that completely transcends COTS or custom applications is conceptual data modeling. A conceptual data model (CDM) is a business-centric model that should be independent of technology or applications. CDMs identify business objects (i.e., entities) and their relationships in order to understand the business from a data perspective and serve as a framework for information systems. One mistake frequently made is not developing a CDM before buying COTS applications, which leaves companies without an understanding of how the software will align with the business and where modifications may be required. When developing a CDM for this purpose, it is important to use names that resonate with business users, as you should have the business side review, understand and approve the model. You also will want to maintain a mapping between business terminology and COTS application terminology. That process, called data rationalization, applies even for custom applications, as the entity names in the CDM may not necessarily translate to an LDM due to abstraction and other reasons.

A common approach to the build vs. buy argument is to buy best-of-breed applications and then integrate on the back end, perhaps in a data warehouse. Besides using the CDM to identify differences between existing business data and COTS software, the data rationalization mappings will be invaluable for determining how to integrate data from the different applications you choose in a best-of-breed approach.

Dig Deeper on Data modeling tools and techniques

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.