SAN MATEO (05/15/2000) - I have two problems that I hope you can help with. The first is the more serious of the two: I have a database that needs to be online 24 hours a day, 7 days a week. How do I back it up? I've tried setting backups to both disk and tape during off-peak hours, but it still slows the database to a crawl. As you've probably guessed, this is a Web application, so our users are from all over the world and our peak usage is starting to flatten. Soon there won't be any off-peak times. One way or another I need to back this thing up. Help!
The second problem is more of an annoyance. In our test network, we are frequently reconfiguring and rebooting servers, workstations, and network hardware. It drives me nuts that the network takes a minute to come back up after rebooting a switch. In the old days, hubs came up almost instantly. What changed? And why is it worse now?
Brooks: I think I'll answer the second question first, because it is indeed easier. What you're probably seeing is Spanning Tree at work. Spanning Tree is a protocol that prevents network loops from occurring; in large networks, it's surprisingly easy to hook a few switches together and discover that there is some path that creates a loop. Without Spanning Tree the network starts duplicating packets, and in short order, everything is at 100 percent utilization; the network basically stops, which is not good at all.
When a switch with Spanning Tree starts up, it communicates with other Spanning Tree devices on the network to discover network topology. During that time, it won't forward packets because it doesn't know if there's a loop somewhere.
In a small network, if you can trust yourself not to create loops, you can turn off Spanning Tree with no adverse effects. I think you'll find your switches come up much more quickly, although they will still never be as fast as the hubs of yore. Modern switches are computers in their own right and need to boot, load their configuration, and so on. But you should be able to drop that minute-long delay down to five seconds or so.
Now for the more difficult question: I don't know an easy, cut-and-dried answer. I've worked with two solutions, both of which are somewhat inelegant, especially for large databases. The first is to use your database's replication function to keep a live replica of the database up-to-date and then back up the replica during off-peak hours, as long as there are any off-peak hours.
Depending on your database, this may incur some performance hit, but it shouldn't be as bad as not taking this step.
The other approach is to use a disk-level replication product to keep another copy of the database. I've had good luck using Network Integrity's Real Time Replicator. If you replicate across a fast wide-area network, you may not even need tape for nightly backups.
As the Internet drives more and more businesses to operate 24 hours a day, this problem is only going to get worse. On the bright side, with the increase in distributed data centers and real-time bidirectional database replication, the old standard of making a tape copy once a day becomes less relevant for most businesses. If there's a current copy of the data at multiple places around the globe, there is much less danger of data loss.
Of course, taking snapshots in time will remain important for some businesses, such as banking, but even applications such as those the financial sector operates can run database replication to a dedicated backup server then turn off replication during a window when that server is backed up to tape. Voila, no downtime and no slowdowns.
Lori: Any device that performs Layer 2 switching uses the Spanning Tree protocol that Brooks mentions. In most cases Spanning Tree is enabled by default and is used to prevent bridging loops. This bridging protocol is known to be slow, and you may wish to turn it off.
If you are planning on upgrading any of your switches, you should know that Layer 3/4 switches do not use the Spanning Tree protocol; thus, you should see any slowness due to this protocol disappear on Layer 3/4 switches.
Referring to the tougher question, the Web requires that all applications and sites be available around the clock, making it difficult to find the best time for backing up data. It is critical, though, that you always do have a backup to ensure the around-the-clock availability of your site.
Thus, I agree with Brooks that creating a replica of your database to another server and making a backup using a product such as Computer Associates International Inc.'s Arcserve is the best idea. You should be able to schedule and perform replication from within your database program.
Brooks Talley is senior business and technology architect for InfoWorld.com.
Lori Mitchell is a senior analyst for the InfoWorld Test Center. Send your questions for them to email@example.com.