Question

I read this term a lot. What exactly is a legacy database? I ask because I had thought it meant an old database like dbase or rdb, but I don't think I'm right.

When looking at RoR or Django and "legacy database" integration, what does legacy database really mean? Is it different than a generic term "legacy database"?

Was it helpful?

Solution

In the general context, it can refer to any of the older database technologies.

In a more specific context, it can refer to a database system that was inherited by a team from previous project owners.

OTHER TIPS

legacy: anything from the past that keeps coming around to haunt you.

A legacy database is generally something that you will have to inherit and base some of your design decisions around. Most companies that put out work may already have some other (usually horrible) solution and you need to give them a bigger and better product...

BUT

It has to work with all of their old legacy data. The company is not going to want to manage two different applications just so they can keep all their old records. You will need to develop your solution to be able to migrate the data from the legacy system over into your system. This can have a massive impact on the overall design of the new database, because it cannot stray too far from the previous without introducing a lot of problems in terms of data integrity.

We mostly use the term 'legacy database' as a db schema we can not 'easily' modify without breaking other software/systems using this schema.

It's usually derogatory in my experience:

  • Something no-one wants to touch in case it breaks
  • Databases that can't be maintained (say that SQL 6.5 box lying around)
  • Someone else's badly designed and implemented database
  • Something that someone is trying to replace
  • Supported by the 93 year old wierdo

If it's in-use but still has maintenance or development activities, it can't be legacy...

Edit: Given the age of the SQL language and the RDBMS, everything is legacy (including my new system due next year) compared to the software listed. At what point does Ruby turn legacy from the database perspective..?

this sums it up pretty well.

[edit] Broken link. Here's the quote from FOLDOC:
Legacy System -- A computer system or application program which continues to be used because of the cost of replacing or redesigning it and often despite its poor competitiveness and compatibility with modern equivalents. The implication is that the system is large, monolithic and difficult to modify.

If legacy software only runs on antiquated hardware the cost of maintaining this may eventually outweigh the cost of replacing both the software and hardware unless some form of emulation or backward compatibility allows the software to run on new hardware.

I bet they are referring to the schema of the database, rather than the database system itself.

Flat file, hierarchy, and network databases are usually referred as legacy databases. They represent the ways people used to organize information in prehistoric times — about 30 years ago.

Legacy is used to denote the old thing. legacy database is something which continues to be used because of it cost of replacing and redesigning it.

In general context refers to old code inherited. Tipycally cobol code. It is used for code which it is still used for historcal reasons. It applies also for DB schemas

Basically, it's legacy when newer techniques have been developed yet for whatever reasons, the old system/database/technique is still used. Age of the database system doesn't matter, really. Legacy means that it can be replaced by a better technique, yet it hasn't been replaced yet.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top