Slashdot Mirror


8 Reasons Not To Use MySQL (And 5 To Adopt It)

Esther Schindler writes "Database decisions are never easy, even — or maybe especially — when one choice is extremely popular. To highlight the advantages and disadvantages of the open-source MySQL DBMS, CIO.com asked two open-source experts to enumerate the reasons to choose MySQL and to pick something else. Tina Gasperson takes the 5 reasons to use MySQL side, and Brent Toderash discusses 8 reasons not to. Note that this isn't an 'open source vs proprietary databases' comparison; it's about MySQL's suitability in enterprise situations."

10 of 288 comments (clear)

  1. How can the BSD be "too open"? by DaleGlass · · Score: 4, Insightful

    In these situations, if the BSD license of PostgreSQL is still too "open," a commercial license is preferred.
    This is plain bizarre. How can a closed license be preferrable to BSD, when BSD is basically "do whatever you want with it", including closing the source?
    1. Re:How can the BSD be "too open"? by Rycross · · Score: 4, Insightful

      Obviously giving the author credit for originally writing the code is just too demanding.

    2. Re:How can the BSD be "too open"? by DragonWriter · · Score: 5, Insightful

      And another gem FTA... "Whatever one might say about the strength of MySQL's backers, the fact that the company is not publicly traded means the financials are not required by law to be a matter of public record."

      So we're going to have to trust the software company that won't show us their code, but will show us their books instead of the company that will show us the code, but not the books?!?


      In business, this often makes some sense. The purchaser doesn't want to see and maintain the code, that's not their core competency. They want to be assured that, however, the vendor they get support from will be around to provide support in the future. So they are more concerned with the financials than the code.

      Its just outsourcing in its original sense (before what used to be either "overseas outsourcing" or "offshoring" became the dominant definition): focus your company on its primary mission, and contract out for everything else.

  2. Re:Warning: mysql_connect(): Too many connections by DarkSkiesAhead · · Score: 4, Insightful

    Warning: mysql_connect(): Too many connections ?
    That warning should really read: "Warning: crappy sysadmin" No reason to see it on a well-run site.
  3. Re:Reasons not to use MySQL? These are stupid reas by iknownuttin · · Score: 4, Insightful
    --Innodb scaling across multiple processors (MySQL bug ID 15815, still not completely fixed).....

    The audience for both articles are for IT (upper)mangers. Most of your argument above would be better off for the technical lead whose doing the report for his immediate manager (maybe technical) who'll then give a report to the CIO or even to a manger below him that would say:

    MySQL (GOOD)
    Oracle (GOOD but expensive)
    Excel (BAD)
    Not that those managers inherently stupid (hope not), it's just that their more concerned with the bigger picture and the resultant budget.

    --
    I prefer Flambe as apposed flamebait.
  4. Re:Ready...Set... by jrockway · · Score: 4, Insightful

    These two articles were some of the worst pieces of literature I've ever seen in my life. The GPL and BSD licenses are "too free"? "Ajax" is a programming language powered by MySQL? Etc., etc. Oh my God... what crap!

    --
    My other car is first.
  5. Re:That's not the target audience by EsbenMoseHansen · · Score: 4, Insightful

    The article is in CIO magazine, none of the downsides you mention is of a concern for a CIO. A Product manager? Maybe, even then probably not.

    If you are in any position where you are choosing between databases, you have three cases:

    1. You understand these issues
    2. You have delegated the decision to someone who does
    3. You are incompetent
    4. You are toying around

    Sorry about the M.P. reference there :o)

    --
    Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
  6. Re:Reasons not to use MySQL? These are stupid reas by hobo+sapiens · · Score: 4, Insightful

    Not sure what you mean by "faster". In my post, when I say fast, I mean the humble act of selecting data, which is 90% of the queries in I'd bet most traditional web applications. I care less about insert, updates, and deletes because those just don't happen as much.

    Oracle run by a good DBA is fast fast fast. I don't have benchmarks for you. But I have personally migrated an application from MSSQL 2000 to Oracle 9i. I have more experience with MSSQL than I do Oracle (and so you could rightly infer that at first, my coding practice was optimized toward MSSQL which is in many cases the opposite of how you code for Oracle), and yet my application runs much, much faster on Oracle. I chalk it up, in part, to the efficiency of the indexing. The b-tree indexes in Oracle are just awesome. And now that I actually understand how to really tune a query in Oracle like I do in MSSQL, I have to say that Oracle provides better tools to enable you to tune. The explain plan alone, when you really understand it, is hands down better than, say set statistics io on and set statistics time on in MSSQL. And that's not even getting into TKPROF.

    Maybe your real world experience says the opposite of what I just said, but in the corporate environment (like at work) I wouldn't even think of using anything other than Oracle, not out of prejudice, but based on years of experience. I'd like to try MSSQL 2005, though. Always willing to give them another shot.

    But I have also used Oracle DBs admined at let's just say, a less-than-competent level, and it's quite horrid. Oracle has to be done well, and paying a real DBA is costly. Enter MySQL.

    --
    blah blah blah
  7. Re:oooo, goody by einhverfr · · Score: 4, Insightful

    Interestingly, despite the fact that I almost never recommend MySQL, I do agree that the 8 arguments opposed were not that wel thought out.

    My comment to the article was:

    First, I do not recommend MySQL frequently and I figured I would explain why. Although I have no formal training in database design I consider myself more educated in these matters than the average developer.

    The basic issue is that, until recently, MySQL has avoided being a classical RDBMS. Instead, it has been developed as a quick and dirty data storage system with an SQL interface. While this is great for some kinds of applications (light-weight web content systems), it breaks down quickly when you need to have many different applications (some commerical, some inhouse) running against the same database. Even MySQL 5 does not get away from this concern entirely (even though the features now exist, enforcing them by the RDBMS is still problematic).

    Basically-- if you want a rapid development storage device with an SQL interface for a single application, there is no reason not to use MySQL (aside from the standard Gotchas). If, however, you want to have a more intelligent database which mathematically represents your data as well as possible, and displays these properly to many different client apps, it is still not adequate. Note that the former case has a nasty habit of evolving into the latter case.

    --

    LedgerSMB: Open source Accounting/ERP
  8. Re:MySQL the db for people who don't understand db by Heembo · · Score: 4, Insightful

    I only use the most recent version of MySQL, and I have the exact opposite perspective. MySQL does what a database is suppose to do really well - simple relational queries onto data. MySQL's transactional processing; the ability to set a savepoint and then commit or rollback, seems flawless to me.

    Oracle on the other case, seems to be doing exactly the opposite of what a database is supposed to do - it's encouraging you to push more and more of the application layer into the database (first plsql, and now Java at the database layer?).

    I just want to create tables, select, insert or update data. Not much else. That's what Codd truly intended. Codd would roll over in his grave if he saw the bloated mess that Oracle is today. And you can design a horrible denormalized schema in Oracle just as much as MySQL - neither force any form of normalization at the RBDMS level. (Some applications merit denormalization)

    Not to even mention the absolute shameful way Oracle considers, manages and patches security issues.

    MySQL is a simple, free relational cruncher. I can't believe a true finance architect considers Oracle more robust that MySQL, especially when its comes to security.

    --
    Horns are really just a broken halo.