Saturday, December 10, 2005 |
Tech Rant: "Let's Get A Real Database"
After AdWords launched, Jane, the ads group manager, decided that now would be a good time to switch over to a "real" database. "Real" [...] means "expensive". Many managers seem to have this idea that it is invariably true that you get what you pay for, and that therefore nothing that is available for free can possibly be any good. Using MySQL was acceptable as an expedient to get things up and running quickly and with a minimal of capital outlay, but now that things were settling down it was time to recognize that this was really, fundamentally, a mistake, and it should be fixed sooner rather than later."The moral of the story," concludes author Ron, "is that sometimes, and in particular with free software, you get more than what you pay for." I can attest to having a nearly identical experience with MySQL and another "real" (*cough* Oracle *cough*) database in my day job (at this point it's so far in the rear view mirror that I don't think anyone should be surprised to find out our technical direction). In a slightly lame attempt to tie this all back to baseball, I also wonder to what degree teams like the Blue Jays, Angels, and Dodgers are overspending on relative mediocrities to acquire credibility with their respective fanbases. Sure, B.J. Ryan isn't worth nearly the amount he's about to make, but he's a "real" closer. How many guys in the farm don't get a chance because they're not "real" players? And on how many teams? The artifice of overpaying yields its own absurdist logic; how happy are the Reds with their "real" centerfielder?We finally decided to go with a commercial database (I won't say which one) over the objections of a number of engineers, including myself. To ease the transition it was decided to convert AdWords over to the new system first, and to do the main ads system later. It was a project on a par with the internationalzation effort in terms of the tedious work required to comb over nearly all of the AdWords code and change all of the database queries. (Databases are supposed to all be compatible with one another, but in reality they pretty much aren't.)
To make a long story short, it was an unmitigated disaster. The new system was slower than molasses in February. Some heroic optimization efforts eventually produced acceptable performance, but it was never as good as the old MySQL-based system had been. For a long time we were stuck with the worst of all possible worlds, with the two ads systems running on two different databases. It was still that way when I left Google in October of 2001, but I have heard through the grapevine that they eventually went back to MySQL. (Since then, MySQL has added many of the features that had been missing at the time.)
Labels: tech
Oh - baseball. Sorry. Furcal is a real waste of money. IMHO.
Newer› ‹Older
Post a Comment
Note: Only a member of this blog may post a comment.