Register
Sunday, February 05, 2012
 
 DBAs And ProgrammersBlog
  
News! Minimize
   
 
 Print   
 
Misc Blog Stuff Minimize
   
 
 Print   
 
The Reluctant DBA Minimize
 
 
 
 Print   
 
Reluctant DBA Minimize
   
 
  
 
Reluctant DBA Minimize
   
 
  
 
The Reluctant DBA Minimize
 
Mar13

Written by:CarpDeus
3/13/2009 8:13 AM 

The College Class Version

One of my first consulting gigs was with a company that wrote software for manufacturers and it was there that I met Paul. Paul was an engineer, a great guy and an even better story teller. One day he related about a course he took in college, a 300 or 400 level course required for his engineering degree which basically had the goal of reinventing the wheel. At the beginning of the semester, the professor showed them a basic sled like the one to the left. The goal of the class was to improve the method of transportation within certain guidelines. The important caveat was that they had to justify how they got there. They couldn't just say, "Wheels are better, here." No, they literally had to reinvent the wheel in this class. And over the course of the semester they learned a couple of things. First, wheels are really great tools because they are the culmination of a lot of experience that led through progressive improvements to solve a particular set of problems. Second, they are universally used because they are such a good solution. And, finally, that incremental improvements made over time can lead to vast improvements overall. I mention all of this as the foundation for my next point.

The Software Version

We often talk about reinventing the wheel in the software business. A part of it is the belief that something so generic can't meet our needs but another part of it exists when we think we know better about an existing system (satirically demonstrated here) and decide to rebuild it. As I always say, "When you reinvent the wheel, you run the risk of inventing something that doesn't roll very well." But I think that there are times when taking this approach is necessary.

Reinventing Re-Imagining the Wheel

It was the 60s and America had committed to putting men on the moon, men who could take an American made muscle car with them. Advertising aside, you can't just take your standard Goodyears to the moon for all sorts of reasons related to rubber and cold and heat and vacuum. So the only thing to do was to invent a wheel that could be used on the moon. Unlike many wheel reinventions in software, the engineers didn't start out by throwing the wheel away. Instead, they took the wheel and made the necessary modifications to make it fit a different environment. And it worked flawlessly.

Cloud Based Database Design

All of that lead up was to talk about some of the challenges we face in cloud based database design, whether on SQL Data Services or Azure or Amazon or (fill in cloud maker of your choice). The fundamental concepts that make good database design haven't changed. Transactions may need to be handled differently, but data integrity is still an issue. Just because our design needs to work in an alien environment doesn't mean we should throw the baby out with the bath water. Wheels still need to roll along the ground, whether the ground be Terra Firma or Luna Firma. The composition of that wheel needs to change, not the function; and that applies to database design as well, whether running on a single SQL Server or an amorphous1 cloud.


1Yes, I know that cloud computing isn't really amorphous. Even if it was our data would still require form.

Tags:

Your name:
Your email:
(Optional) Email used only to show Gravatar.
Your website:
Title:
Comment:
Security Code
Enter the code shown above in the box below
Add Comment  Cancel 
 
 
  
 
Privacy Statement | Terms Of Use Copyright 2001-2008 by ReluctantDBA.com