January 23, 2007
Can MySQL scale?
Making the rounds of cyberspace is a report by MediaTemple, a hosting company, on how it believes it will solve its difficulties with grid-based MySQL hosting.
Takeaways include:
- MySQL has real issues with handling diverse, high-volume workloads.
- When MySQL gets overloaded, database corruption is routine.
- Some people write really, really bad MySQL web applications.
With the possible exception of #2, I doubt any of this surprises anybody.
Comments
6 Responses to “Can MySQL scale?”
Leave a Reply










That’s not news for anyone who studied opensource database systems.
MySQL default setup is not even ACID compliant.
You could try MySQL w/InnoDB (it’s at least ACID), but it still lacks some basic functionality, like triggers. And please don’t tell me that MySQL has triggers. They’re severely limited.
If you want a full-featured, solid opensource RDBMS, get PostgreSQL. Really.
If you don’t need broad datatype support, Ingres may be the best of the bunch.
Actually, I wouldn’t be shocked if they fixed datatype extensibility as well. They had the guts of that technology in the product over a decade ago.
Curt, my thoughts exactly. PgSQL isn’t the only alternative out there. There’s also Firebird, but I haven’t tried it myself.
[...] MySQL told Computer Business Review they’re thinking strongly of an IPO this year, but also wouldn’t mind waiting. Frankly, I think they shouldn’t come public until they can prove solid acceptance of Version 5, because Version 4 remains in too many ways an embarrassment. [...]
It appears that they may be in the habit of copying MyISAM tables around for load balancing, presumably while the shared server is still running, to avoid interfering with other customers. That almost guarantees index corruption if the table is in active write use. That shouldn’t surprise anyone.
High volume workloads aren’t a problem for MySQL. I doubt that that is all the story behind the applications/customers they have found troublesome. Shared hosting almost inevitably means resource over-allocation and pricing below the real cost needed for high demand users, particularly those with inefficient applications. We don’t know enough about their troublesome customers to know what the problems really were.
InnoDB - the transactional engine anyone serious about uptime and reliability would be wanting to use - can’t be copied while the server is live and isn’t prone to the MyISAM corruption risk you get when doing that live copying. It’s also less likely to suffer it in general use, though that’s fortunately not commonly encountered by MyISAM either.
Filip, InnoDB is the default engine for Windows, MyISAM for Linux, so the non-ACID default isn’t true for around half of all installations.
James Day, Support Engineer, MySQL AB, first DBA, Wikipedia.
[...] Curt Monash of DBMS2’s blog points to a paper analyzing MySQL hosting on a grid. One observation: “Some people write really, really bad MySQL web applications.” [...]