Tuesday, June 30, 2009

Learning the MySQL Architecture

MySQL is an database server and anyone managing the MySQL database server has to learn the architecture, and feature functionality like any other database server. The biggest mistake to make with a new MySQL environment is thinking it is a toy and trivial to work with. A MySQL server needs to be properly configured, tuned and managed like any other database server.

The key to learning any database server is to learn its feature/functionality and the architecture.

4 comments:

philverb said...

Don't you think that where one is concerned about MySQL being presented as a toy, it is by omission the biggest mistake to just list "3rd party" storage engines without even attempting to deliver information about where MVCC log files might be, whether the relevant storage engin is InnoDB or not?

George Trujillo said...

Phil, I think you have a really good point. Especially since storage engines are a core area of MySQL. I'd love to write more on storage engines, but with this set of blogs I am just trying to provide some high level insights into MySQL. I will tell you there are a "lot" of very interesting things going on with 3rd party storage engines. I'd love to hear some of your insights on storage engines.

Phillip said...

What about sizing the database?

Currently I see your layout using only one datafile.

At my last employer we setup oracle to use 2 data filesystem when data is less than 500GB. If it is more then we setup 4 data filesystem.

Oracle does this with no problems so what about MySQL?

George Trujillo said...

Philip, look at my Labels section under DBA Best practices and look at MOCA. It has recommendations for how to lay out your data.