Editorials

On Re-architecting a DB In Production

I had originally asked about the success/failure of rebuiding due to trying to implement new technology, new approaches, ideas, etc.

Here’s a link to the original post

In our own work, our experience with our own systems and with customers has been that this is one of the hardest projects to succeed in putting together. There are so many variables and it’s not just a matter of understanding the requirements, but at the same time you are trying to apply those new technologies and/or techniques. Of course usually you’re also a bit more green at those technologies, just because they’re newer additionals toyour arsenal.

BUT, when you also add in the variables of conversion of the existing systems and you have a buffet of things that can go wrong. That conversion can be a real bugaboo. (That’s technical for “a real pain in the backside and frought with challenges”).

It seems, too, that with a live system, you’ll have the added pressure of lmited (or, if the end-users had their way, NO) downtime. Of course that flies in the face of convert, test, confirm your conversion steps with the system in a known state.

AZJim jumped in on this as well – their comments (in part):

The only time I did this was after the business under estimated the transaction volume on a new database project. It would be a large application capable of processing 250,000 transactions/day. The actual volume was closer to 600,000, which required re-partitioning of the entire databases (with corresponding development costs and business outage). Was the redesign successful? In one sense of the word, yes. But because some senior VPs would miss their cost targets, recrimination and scapegoating commenced.

Scope creep and design efforts that have less awareness of the real use of the application suite (as above in the comment) are huge issue (as with any development effort). I think too that pressure to get it done sans downtime and “right the first time, or else!” is accute with a redesign of an existing system .

So, I’d say it’s possible, but testing and communication will be even more critical, as will transparency to the user base on what they can expect in the process.