Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: [OT] Why I don't use Mysql for new projects

by dragonchild (Archbishop)
on Jul 10, 2008 at 15:31 UTC ( [id://696729]=note: print w/replies, xml ) Need Help??


in reply to [OT] Why I don't use Mysql for new projects

I've been both a MySQL DBA and an Oracle DBA. I've also hung out with Oracle DBAs who've been doing it since Oracle v4. Oracle, the gold standard by which all other RDBMS engines are measured, is accounted to be the absolutely worst RDBMS engine that could possibly have ever been written. Except, of course, for all the others.

Data management is a particularly tough problem. Particularly if the following requirements are all accounted critical:

  • Reliability - it never crashes
  • Durability - when it does crash, nothing is lost
  • Speed of queries
  • Speed of mutations
  • Concurrent access by thousands of simultaneous connections
  • Scalability across multiple CPUs and multiple machines
  • Ease of use
  • Ease of administration

Maintaining DBM::Deep has given me a very small window into what the developers of various RDBMS engines must go through in order to achieve those criteria. It's not surprising that each RDBMS has chosen to short some of those requirements in order to maximize others. Oracle, for example, has horrible ease of use, ease of administration, and speed of mutations isn't that great. And, frankly, Oracle has had horrible failures in terms of reliability. For example, in 9.2.0.2, there was a bug in how TIMESTAMP columns were stored. When it was found, the only solution was to upgrade to 9.2.0.4 and accept that there was lost data.

The difference between MySQL and Oracle? MySQL has put ease of administration much higher on the list. You would never consider using Oracle, even if you could use it for free. But, why on earth do you think that you can just willy-nilly use MySQL or PostgreSQL? Being a DBA is flipping hard. There's a gazillion things to consider, most of which you never even realize until you were bit in the ass by them.

So, don't blame MySQL for your lack of understanding of its architecture. There are courses for a reason. If you're going to entrust your production-critical data to something, why wouldn't you spend the week to really read and understand the documentation, regardless of the systems you choose to use? Or, are you going to tell me that you don't really understand Perl, Linux, or Apache? Are you just blithely assuming that people who aren't paid have your best corporate interests in mind?


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
  • Comment on Re: [OT] Why I don't use Mysql for new projects

Replies are listed 'Best First'.
Re^2: [OT] Why I don't use Mysql for new projects
by moritz (Cardinal) on Jul 10, 2008 at 15:39 UTC
    So, don't blame MySQL for your lack of understanding of its architecture.

    I didn't blame MySQL for anything. I just told everybody who cares to read why I don't use it for new projects. That's a bit of a difference.

    If you want to, you can read that as "moritz doesn't use MySQL anymore because he doesn't understand its architecture".

      I'm reading your concerns and your response to perrin as "he doesn't understand its architecture."

      Now, you have very valid points with regards to MySQL's suitability for certain tasks. Oracle is still the gold standard for a reason (and it's not its pricepoint!). That said, MySQL is suitable for most tasks, assuming you set certain defaults appropriately. I don't ever do anything unless it's in InnoDB or NDB (if I need clustering). I always use the strictest sql mode and I set all my charsets to Unicode or Latin-1 (depending). There are certain features I will never use and certain features I don't consider optional. Same as my thoughts on Oracle, Sybase, and DB2. Oracle's defaults suck horribly. There isn't a single Oracle DBA that would ever consider using them. Does that make Oracle a bad RDBMS?


      My criteria for good software:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
        I'm reading your concerns and your response to perrin as "he doesn't understand its architecture."

        Ok, I got that wrong. Thanks for clarifying.

        DB2. Oracle's defaults suck horribly. There isn't a single Oracle DBA that would ever consider using them. Does that make Oracle a bad RDBMS?

        Worse than it could be.

        But there is a huge difference in how mysql and oracle are perceived in the public. Everybody recommends mysql for beginners (with good reason - it's easier to use at first than most alternatives), so IMHO it's more important to have good defaults, because beginners are the ones who don't touch the settings.

        Nobody really uses an Oracle DB just to install a web counter in PHP. If you're a beginner with databases and forced to use Oracle, you'll probably not administer it at first.

        That's more a marketing distinction than a technical one, but you can't view these things out of context.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://696729]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2024-04-23 15:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found