|< Day Day Up >|
9.1 Why Backups?
Strangely, some people never stop to consider why they need to back up their servers. The data is important, so we just assume that backing it up is equally important. That's good, because backups are important and do need to be done. But by understanding the various ways in which backups may be used, we gain some perspective on the utility of various backup strategies.
9.1.1 Disaster Recovery
What is a disaster? For our purposes, a disaster is any event that causes significant portions of the data to be corrupted or unavailable. Some examples of disasters include the following:
Any of these disasters can occur at any time. The odds of any one of them occurring are pretty low, but none of them are impossible. Having a known good copy of your data on hand will greatly minimize the pain of having to recover. It's a form of insurance—and cheap insurance at that.
Some of these disasters might be the result of a natural disaster (tornado, earthquake, mudslide, etc.). Unlike a simple disk failure, nature's catastrophes have a habit of physically damaging and even destroying entire buildings. To be truly safe, you need to have off-site backups. Something as simple as taking the tapes home with you every other week or sending a set to a remote office may prove to be invaluable if nature strikes.
There are times when you'd like to be able to go back in time and see what a database, table, or even a single record looked like. Having older backups available makes this relatively easy to do. Just pull out the correct files, load them onto a test server, and run some queries. Depending on the type of data you store, there may even be legal reasons why you need to keep old copies of your data around.
Why else might you need the ability to go back in time and examine older copies of your data? You might have to:
Of course, there are countless other situations in which older data can be invaluable. The trouble is, you may not realize that until it is too late.
It's usually a good idea to test changes to an application before putting them into production. To do that, you'll probably have a separate database server you can load data onto to run various tests. Over the course of development, you may need to wipe the data clean and reload it several times.
|< Day Day Up >|