Tuesday, November 07, 2006

Where am I deploying MySQL?

If cost were no object, I'd always deploy Oracle. I'm comfortable with Oracle technology and I think I have a pretty good idea how to implement and administer it.

In the world of corporate IT, however, budgets are king. Projects are measured by their Return on Investment (ROI) and the lower I can get that investment, the better return I can get for my investment. I have a real hard time spending $160K on an application that will occupy 40G of space.

In my opinion, I'd use MySQL for anything but the most mission critical applications. I'm not saying MySQL can't handle the most mission critical applications, but I'm not comfortable betting my business on MySQL at this point.

I think there are about three sweet spots for MySQL. The first is small to medium size OLTP databases (<100 GB) that are fronted by something like a java middle-tier. These applications typically control most of the business logic and authentication/authorization in the middle-tier (right or wrong) and use the database as a big storage bucket. These applications rely on the backend serving data as fast as it can and MySQL can serve data just as fast as the next guy.

Another area where MySQL excels in serving database driven content directly on the webserver. This type of application typically cranks out high numbers of queries and has very little updates to worry about.

Last, but not least, MySQL is suited for data marts ( < 1TB). Stuffing lots of historical data into denormalized relational tables is what "LOAD DATA LOCAL" is all about. These types of applications aren't needed 24x7 but require snappy response times when queried.

No, MySQL doesn't have some of the features that some of the big-box databases have. And it's got plenty of limitations. But when you want an 80% solution, I think it's the right choice. My company is sold on MySQL and as our confidence grows in the software, so will our installed base.

7 comments:

David Aldridge said...

Are you at liberty to talk about what kind of licensiing profile your organisation has for Oracle, Jeff? So-many standard edition, so-many EE, any XE?

Noons said...

Actually, ROI is an equation with two terms: return and investment.

So if you lower your investment, you don't get better return: you get better ROI!

The same can happen if you get a better return on a given investment: the ROI also goes up.

But making a CFO understand that little detail is what's VERY hard to do nowadays...

OracleDoc said...

Sounds to me like someone is making a career change from Oracle to MySQL. tisk tisk

Jeff Hunter said...

Are you at liberty to talk about what kind of licensiing profile your organisation has for Oracle, Jeff? So-many standard edition, so-many EE, any XE?
Can't get into specifics, but we have a mix. I can say I'm disappointed in the features missing from the stripped-down SE.

Sounds to me like someone is making a career change from Oracle to MySQL.
I wouldn't go that far. We still have a sizeable installed base in Oracle and significant mission-critical systems on Oracle. Those systems will stay on Oracle, it's just not many more new systems will go on Oracle. Kinda like mainframes 10 years ago.

David Aldridge said...

What features do you really miss in SE that you get in EE Jeff?

Jeff Hunter said...

What features do you really miss in SE that you get in EE
The three biggest are online index rebuilds, multiple rman backup channels, and standby db.

Jeff Hunter said...

and incremental backups, can't forget them.