Skip navigation.
Home
The She-BA

One Size Fits All

I was pointed to an article about how the "one size fits all" database model doesn't work anymore -- how Oracle, DB2 and Ingres were written so long ago, they'd have to be rewritten to meet the needs of today's database users. Jacob Nikom pointed the article to me; apparently he contacted the author and started to explain how MySQL meets that criteria, but the author disagreed.

Read the article for yourself:
http://www.databasecolumn.com/2007/09/one-size-fits-all.html

Anyone else notice the irony of saying "all those other DBMS's aren't a one-size-fits-all solution, but this one is?" I think that MySQL comes the closest to a DBMS that is NOT "one size fits all", given the multiple storage engines available. What other DBMS will allow you to use your Amazon S3 account as a table? What other DBMS will allow you to use a .csv file as a table without importing? It's not perfect, because there's still a basic layer of functional implementation that the MySQL server handles (and must), but it's the closest.

Note that the article is written by the founder and CTO of the software solution mentioned.

[...] Kritzer, the MySQL

[...] Kritzer, the MySQL She-BA, said what needed to be said: “I think that MySQL comes the closest to a DBMS that is NOT ‘one size fits all’, [...]

Actually, if you read their

Actually, if you read their bios about half of the contributors to that blog are in someway involved with Vertica.

I don't feel like he was trying to say that Vertica was a one size fits all system. It sounded to me like he was pushing the fact that it was very specifically catered to data warehousing, and that similar solutions could likely be crafted for various other applications that would, due to their custom tuning and design, would be better suited than Oracle, DB2, and even MySQL. And I'd guess that this is likely the case. I agree, certainly, that with the pluggable storage engine architecture MySQL comes closest to accommodating a wide variety of applications with great flexibility. But the fact is that in most any situation, the more specifically you write your system to handle one specific area, the better it will perform (assuming you know what you're doing, of course).

One thing to remember that

One thing to remember that with MySQL you essentially also have to tune as many databases as you have storage engines. You have separate buffers and caches etc. Not helping efficiency. To this end, it will become increasingly relevant to be skilled at the storage engines you are using. Saying "I know MySQL" will not cut it anymore. This and the increasing amount of config options added will over time run counter to the general easyness MySQL has become known for. I guess the key challenge is to ensure that the out of the box experience is simple enough so that people can learn as their application demands grow.

"What other DBMS will allow

"What other DBMS will allow you to use a .csv file as a table without importing?"

You can in Oracle as of 9i. Oracle refers to them as "external tables": http://orafaq.com/node/848

:-)

Thanks for mentioning my S3

Thanks for mentioning my S3 engine. :)