O'Reilly    
 Published on O'Reilly (http://oreilly.com/)
 See this if you're having trouble printing code examples


An Interview with George Reese, co-author of MySQL & mSQL

by Betsy Waliszewski
10/01/1999

MySQL and mSQL provide powerful open-source database solutions to the masses. They also solve the needs of small- to medium-size enterprises. George Reese, co-author of our top-selling MySQL & mSQL, took some time out of his busy schedule to talk about these inexpensive, scalable solutions.


Waliszewski:
You talk about MySQL and mSQL as "...two of the most popular applications offering public source code." Why is that?
Reese:
Like Linux, MySQL and mSQL bring the concept of Open Source into the business-oriented realm. They are the kind of software that people think is simply too hard to tackle outside of a full commercial environment.

Waliszewski:
How accessible is MySQL to those migrating from a Windows environment, and why would a person who is used to working in Windows care?

Reese:
It depends on what they are trying to do. If they are trying to program against it, then it is very accessible. They can use their favorite Windows desktop IDEs and programming languages and never know they are on a UNIX box. If you are talking about administrating it, though, it is not particularly accessible unless you are using the Windows versions.

Waliszewski:
You state that MySQL is "...nothing less than a serious competitor for the major database engines in the field of small- to medium-scale database development." What makes this true?

Reese:
It solves the database needs of applications in this problem range at a very minimal cost. It also makes it easy for people to build applications that will scale to take advantage of the major database engines when your database needs outgrow MySQL's capabilities.

Waliszewski:
It's fascinating that MySQL has proven so scalable; it really can handle huge databases. It would be interesting to find out what extras Oracle and the others offer that you can't find in MySQL and how important these things are. Would you like to comment on that?

Reese:
This can be summed up in two words: transaction management. Specifically, MySQL and mSQL provide no transaction management. While MySQL does provide a sort of locking scheme, it is no support for the transaction management you get with Oracle. This is important for any application that needs to do a lot of writing to the database. Web applications, however, are generally heavy-read applications and thus rarely have the transactional issues that your typical enterprise-level application has.

Waliszewski:
Your book has been a top seller at Amazon.com for sometime now. To what would you attribute the overwhelming success of this book?

Reese:
Two issues: the growing popularity of open source-ish software and the explosion in the need to tie Web sites to databases. It also helps that we do not focus on a single programming language, but instead show how the two database engines tie into just about every language and programming environment people use today for building Web applications.

Waliszewski:
I have seen a few comments suggesting that this book is not for power users. How would you respond to that statement?

Reese:
I think people are fooled by the simplicity of MySQL and mSQL. They think there has to be more there, that it cannot be that simple. I have heard the same comment as well, but when I have pressed people on what exactly the book is missing for power users, I have not heard anything concrete. Are there things we missed? Almost certainly. But I do think that we have covered most of the bases that need covering for the power user.

Waliszewski:
Another interesting question is why the MySQL developers don't think transactions are important; they say you can get everything you need through other mechanisms. That's debatable. The developers have promised transactions in a future release because there has been so much demand for them. What do you think?

Reese:
It is an interesting question. Transactions are important. VERY IMPORTANT--for some applications. I'm not so hot on the idea of adding transaction management to MySQL simply because the sort of applications for which transaction management is important are not the set of applications at which MySQL is aimed. Maybe Monty wants to be able to aim at a larger problem set. At some point, though, you start sacrificing a lot of the things that leaving out transactions gets you and you start to fail to solve the old problem set. Oracle does not solve that problem set. Today, MySQL does. Will MySQL with transactions? I don't know.

Copyright © 2009 O'Reilly Media, Inc.