mySql

I wrote — over a year ago — that I was “thinking about databases” and all that.

That train of though turned into a guest editorial on the subject of open source databases vs. commercial products.

It was interesting to write — made me think — and, of course, the response from readers was the really interesting part.

Sure, I got flamed, called an idiot and all that, but there was a lot of knowledge and experience behind the responses in many cases.

Basically, the article said “Open source solutions are in many areas comparable or better than commercial products, but this is not true in the case of OSS databases. Why no outcry (or am I missing the outcry)?”

And — basically — the response from readers was that what is out there is fine; the options offered by commercial products were just not needed or could not be cost-justified.

Wow. Blew me away.

Because the most widely accepted/deployed OSS database — mySQL — is really a piece of crap. It doesn’t pass ACID tests, it’s filled with proprietary (instead of ANSI-complient) SQL (such as the “concat” operator! Scary…), and does not support a lot of the things that make it a database.

While there were dissents — and those who said that, yeah, Oracle is good, but I’ll never use the 10 million configuration options offered (fair) — the general response was that mySQL is just fine for the job.

Basically, people are using mySQL — and other OSS databases, such as Postgres, SAP etc. — much like flat files. Just a big table or two; maybe joining the two in some cases. Very denormalized. The advantage to using a database instead of a flat file even in this case, of course, is that one doesn’t have to write the logic to extract/order/limit the data pulled from the “data store” — SQL is used.

And then you can extend it later — add another table etc — very easily. And — importantly — without changing/adding any business logic.

And that is a good thing.

But it was just a bit scary to me: I had thought that the OSS crowd, in general, was more sophisticated about databases than that. I got notes and there were posts from people who had been doing this for years and saying, basically, that they don’t use primary keys and so on.

Again, the “relational flat file” syndrome.

While I agree that many projects do not need the weight of an Oracle or MS SQL installation, but one should still adhere to good database design and usage no matter the product used. It just seems odd — and surprising — to me that the users of OSS software don’t seem to put a lot of stock in these “best practices.”

On the other hand, I’m judging from the people who posted. And those who posted — or wrote — are probably always going to be those who disagree, not the ones nodding their heads and thinking “yep….”.

All in all, an interesting project (the article/responses) overall.