Wednesday, November 29, 2006

Where am I deploying MySQL, revisited, revisited...

Seems like I'm doing a lot of revisting these days. Perhaps I'm just not making myself clear.

I have basically five types of systems in my organization; mission critical, 24x7, ancillary, QA, and Development. Below are some detail explanations of each type of system:

Mission Critical
A mission critical application is a piece of software that must be running in order for the business to continue to operate. Without the software, the business would cease to exist. An example of this is eBay's auction system or the software that executes orders for Ameritrade.

A 24x7 system is important to the business, but not essential for the business to run. If a 24x7 system goes down, customers get upset but business continues to operate. An example of this type of system would be Ameritrade's charts or eBay's feedback system.

Ancillary Systems
An ancillary system is a system that a limited number of users access. If an ancillary system is down your bean counters may complain because they can't crunch their numbers, but overall, there is no impact to the business. Usually an ancillary system is something used internally and not exposed to your customer. An example of this type of system might be eBay's customer data warehouse or Ameritrade's accounting system.

A QA system is "almost production" in the sense that it carries a full load of production data, but the data may be "stale". Performance testing occurs on these types of systems as well as new software changes. The only people that are affected by QA outages are those running the tests.

A development system is a work in progress. A handful of developers will be ticked off if development is down, but nobody really cares.

Mission Critical, 24x7, and Ancillary systems are production systems and are treated as such. Any production system is important to the business, just some are more important than others. QA systems are sometimes treated like production, sometimes not. Development systems are almost never treated like production.

In "Where am I deploying MySQL", I point out what types of systems where I am comfortable deploying MySQL. I have deployed several systems in development, QA, and production. My production apps are mostly of ancillary type, but I have recently deployed a 24x7 web based application. As we build the infrastructure around MySQL, there will be a natural progression towards more 24x7 apps. Those ancillary and 24x7 apps eventually evolve into mission critical systems as our experience becomes deeper and our confidence becomes stronger.

I'm an Oracle guy, no question about it. But I'm implementing MySQL. In fact, the vast majority of my new systems are being developed on MySQL and are going into production on MySQL.

From time to time we have to emerge from our comfort zones. We can either confront it as an opportunity to learn and progress or fear it and fail.


Anonymous said...

Who can support it once you leave? What about backup and recovery? Who can do this -- once you leave?

Jeff Hunter said...

Who can support it once you leave? What about backup and recovery? Who can do this -- once you leave?
everybody. It's the first thing you learn when you work for me. You don't move on to any projects until you can backup and restore. We practice recovery at least once a quarter, but due to QA refreshes and the sort it's more like once a month.

John Hurley said...

Your plan makes sense to a lot of us. My shop has no plans to move away from oracle we have more things to move into oracle but that's a decision each organization makes separately.

I thought you communicated the original idea well. Some of the "non Oracle/IBM/SQL server" database crowd get a little evangelical at times. It's good that there are so many choices to bring that level of excitement into play.

Sheeri said...

I think it's great to learn about another DBMS and where it will fit within your organization. I'm glad you're learning more and hope you will soon be comfortable using it in a mission critical environment.

That doesn't mean you *have* to use it there, of course. The wonderful thing about the different db products is that you *can* mix and match to your differing needs.

And for reference, I've worked with Oracle, SQL Server, DB2, Postgres and Ingres in the past, so I feel I know a bit about the strengths and weaknesses of a bunch of DBMS's. I would never say "you must use MySQL" or even "you must use Oracle" without getting a detailed idea of what folks are trying to use this stuff for. And nothing beats SQL Server for their analytics engine....

gandolf989 said...

It seems that all databases are good at something, at My SQL is probably no exception. However, if I had any caution it would be against building islands of data that don't or can't interact with each other. Doesn't it seem that integrating disparate apps is all the rage?

Besides Oracle is just complicated enough to make it profitable for DBA's who can manage it. : )

Anonymous said...

An Oracle DBA that promotes MySQL over PostgreSQL, sounds quite new to me.
This is not to start a flamewar but I've got to know some Oracle DBAs that had an option to add an opensource database to the rack along with Oracle and they all went for PostgreSQL.
Can you share some thoughts on this?

Jeff Hunter said...

Can you share some thoughts on this?

Well, without going into specifics, it was mostly a political decision.

my word: kretyl - as in kansel and kretyl.

gandolf989 said...

"Well, without going into specifics, it was mostly a political decision."

And political decisions are always the most well reasoned decisions!!!! ; )

Anonymous said...

Someone said ... "And nothing beats SQL Server for their analytics engine...."

Ouch. Wow. Nothing like a flat out statement with nothing specific behind it.

Many of us might say "at such a version and level and at a given point in time" some vendors had an advantage in certain parts of their feature sets as demonstrated by x, y, and z.

Looks like the flame war is a go?

Jeff Hunter said...

And political decisions are always the most well reasoned decisions!!!!


Anonymous said...

If you want to manage, tune or develop MySQL you should check MySQL Turbo Manager.

Product page:



Anonymous said...

ok great