This article originally appeared on the BeyeNETWORK.
In a previous article, we discussed the fact that building the data model could take forever. Or rather, the building of the data model will take as many resources as you let it take. In general, the faster the data model is done, the better it is, within the bounds of reasonability.
So what can you do to keep the data model from taking forever to build? Do you have to be a hostage to the developers who need a data model? The following are some suggestions.
- If you are using an outside contractor, put a time limit on the data model development effort. Specify what you want to have done and specify the amount of time you want it done in. Within the bounds of reasonability, the less time, the better.
- “Borrow” a data model from a company that is in the same line of business. When we say “borrow” we mean just that – “borrow” it. Do not steal or otherwise pilfer a data model from another company that is not aware of what you are doing and is not in agreement. This could possibly set off an intellectual property war that you would not win, and this is really inadvisable. However, many companies in the same industry cooperate with each other in this fashion; and under the right circumstances, this is a really good way to jump-start your data model effort.
- Look to industry groups that may have a model. Some industries have gone to the trouble to develop a data model for the entire industry. If such a model exists, it is much faster and cheaper to acquire it than it is to build.
- Look for generic data models. Len Silverston has a series of books that include the data models. In some cases, these books come with CD-ROMs from which you may download the data model.
- Look on the Internet. Some websites have data models that can be downloaded for free. See inmoncif.com for a selection of such data models.
- Look to consulting companies and vendors for data models that can be acquired. Beware – usually these data models are expensive. In addition, these data models are often written for the operational modeling environment, not the data warehouse environment. If you are concerned about expenses (and who isn’t?), then this approach is easily the most expensive.
- Build the model in a top-down manner. This means starting with the top layer of the model (which is really simple to do). Then, build out levels of detail subsets of the data model selectively. In this manner, the data model, while functional at any time, doesn’t have to be built in its entirety at the outset. (This is the recommended approach for data modeling for a data warehouse in any case.)
- Finally, build the data model yourself. This approach is expensive and time-consuming. Only if all the other approaches have failed or are not viable is this approach acceptable.
If you do acquire a data model to jump-start your effort, be aware that even with the best fit, the generic data model that you acquired is going to require some degree of customization.
A data model can be a real obstacle if you let it be. But there are paths around the acquisition of a data model that you need to explore before settling in on a resource-intensive, time-consuming approach. Only do option 8 if there are absolutely no other alternatives.