Chapter 8. Legacy Databases — Everything You Need to Know But Are Afraid to Deal With

What is the difference between a data architect and a terrorist? You can negotiate with a terrorist.

David C. Hay

Sometimes you are in a position to develop your data schema from scratch when you are developing a new system using object-oriented technologies. If so, consider yourself among the lucky few because the vast majority of developers are often forced to tolerate one or more existing legacy data designs. Worse yet, it is often presumed that these data sources cannot be improved because of the corresponding changes that would be required to the legacy applications that currently access them. The problems presented by legacy data sources are often too difficult to fix immediately, therefore you have to learn to work around them.

The goal of this chapter is to introduce both application developers and agile DBAs to the realities of working with legacy data. For our purposes, any computer artifact, including, but not limited to, data and software, is considered to be a legacy asset once it is deployed and in production. For example, the C# application and its XML database that you deployed last week are now considered to be legacy assets even though they are the built from the most modern technologies within your organization. A legacy data source is any file, database, or software asset (such as a Web service or business application) that supplies or produces data and that has already been deployed. ...

Get Agile Database Techniques: Effective Strategies for the Agile Software Developer now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.