views:

2686

answers:

10

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"?

+7  A: 

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.

aleemb
I find it's usually the latter. A legacy database is basically anytime you are inheriting an existing database. Creating one from scratch is sometimes referred to as a "greenfield" database.
altCognito
So in that sense is it similar to using 'legacy' with a codebase? For example, integrating a new module with legacy code. Basically old stuff that needs to be integrated/maintained, but nothing more specific than that?
TURBOxSPOOL
+2  A: 

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

jerryjvl
A: 

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

Luixv
+1  A: 

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..?

gbn
I disagree, if it is still in use then it is considered a legacy system. It is is not, then it is a retired or obsolete system.
Lucas B
In-use with no maintenance and no new features perhaps. Anyway updated answer
gbn
In fact, does this mean you only think new code and new development as non-legacy?
gbn
+2  A: 

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

HeDinges
+5  A: 

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.

TheTXI
What? Migrate data? Doesn't want to support two apps? "I know a place" where they just keep wanting to stack new features and keep adding more and more "middle-man" data apps. Sigh.
anonymous coward
+2  A: 

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.

Robert
+5  A: 

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

Kris
A: 

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.

Workshop Alex
A: 

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.

Suhasini