I appreciate this well-argued piece of persuasive writing for not choosing MySQL, but the premise is surprising -- I don't recall seeing, on Hacker News or elsewhere, any writeups from companies that chose MySQL then ran into significant problems they had to architect around, nor writeups from companies that chose MySQL then had to rip everything out to switch to something in the same family of solutions (Postgres, O…
You don't tend to hit the kind of problems you have to rip out or architect around; it's more a constant set of nagging exceptions to remember, bugs that take longer than they should to fix, application improvements that you'd like to make but can't because you can't change a table definition - but never any single critical showstopper. The PHP comparison is apt (and I've never heard anywhere choose to rip everything…
MySQL - Do Not Pass This Way Again
131–140 of 164 posts
Re: MySQL - Do Not Pass This Way Again
#132>>It's good enough. No it ain't. There are plenty of other equally-capable data storage systems that don't come with MySQL's huge raft of edge cases and quirks. Actually, it is good enough. Good enough to powere billions of websites. Good enough not to pay for Oracle, DB2, or trying to cram some half-finished nosql mess in where a relational database works better. MySQL isn't an end all, but please, don't pretend tha…
Oracle/DB2/SQL Server/$$$ NoSQL
someone's missing the elephant in the room.Re: MySQL - Do Not Pass This Way Again
#133this is my favorite MySQL "decision", that the GROUP BY keyword by default (that is, unless you turn it off with the late-added magic flag ONLY_FULL_GROUP_BY) will gladly select an essentially "random" (well, the first row based on INSERT order, which in SQL is as good as random) row for you: mysql: create table data (token_a varchar(10), token_b varchar(10)); Query OK, 0 rows affected (0.05 sec) mysql: insert into d…
I have encountered situations where this is convenient, and I have yet to see it cause any bugs or problems. In the places I have seen it used, the 'arbitrary' column typically has the same value for the entire group, e.g. for efficiently selecting distinct texts based on their hash values. PostgreSQL has a similar feature using SELECT DISTINCT ON: http://www.postgresql.org/docs/9.2/static/queries-select-lis...
Re: MySQL - Do Not Pass This Way Again
#134>>It's good enough. No it ain't. There are plenty of other equally-capable data storage systems that don't come with MySQL's huge raft of edge cases and quirks. Actually, it is good enough. Good enough to powere billions of websites. Good enough not to pay for Oracle, DB2, or trying to cram some half-finished nosql mess in where a relational database works better. MySQL isn't an end all, but please, don't pretend tha…
* Postgres * Apache Derby * SQLite
All of which I'd prefer to using MySQL in just about any context, and each of which has contexts for which it's overwhelmingly the best choice.
Re: MySQL - Do Not Pass This Way Again
#135I appreciate this well-argued piece of persuasive writing for not choosing MySQL, but the premise is surprising -- I don't recall seeing, on Hacker News or elsewhere, any writeups from companies that chose MySQL then ran into significant problems they had to architect around, nor writeups from companies that chose MySQL then had to rip everything out to switch to something in the same family of solutions (Postgres, O…
I worked at a large startup that was trying to migrate from MySQL to Postgres because of how long table migrations take on MySQL. There's a tendency for adding a column in MySQL to a table to be stop-the-world for the whole server, and it can take hours. They had some pretty serious workarounds for that, and some of them were "try to never change the database structure". There was some thought that there were other p…
I think the word for that is "company".
Re: MySQL - Do Not Pass This Way Again
#136For 99+% of all applications that need a simple database, it is more than "good enough".
Re: MySQL - Do Not Pass This Way Again
#137Earlier quoted context omitted.
I worked at a large startup that was trying to migrate from MySQL to Postgres because of how long table migrations take on MySQL. There's a tendency for adding a column in MySQL to a table to be stop-the-world for the whole server, and it can take hours. They had some pretty serious workarounds for that, and some of them were "try to never change the database structure". There was some thought that there were other p…
Percona's OSC [1] pretty much fixes the migration pain without locking. [1] http://www.percona.com/doc/percona-toolkit/2.1/pt-online-sch...
http://bazaar.launchpad.net/~mysqlatfacebook/mysqlatfacebook...
Check out the README for examples.
Re: MySQL - Do Not Pass This Way Again
#138> Already on MySQL? Migrate.
Got a silly little thing in the corner running just fine on MySQL. Go spend time on it? No.
Re: MySQL - Do Not Pass This Way Again
#139Earlier quoted context omitted.
It does invalidate claims that using product X is going to inevitably cause you huge problems once you "grow enough". I've seen a lot of places grow a lot while using MySQL, and the problems aren't really that different or more serious than in places using Postgres or Oracle. In fact, I know enough places moving from Postgres to MySQL due to growing pains.
Right, but we're not talking here about scale. We're talking about ... trustworthiness, I suppose. Dependability. What this article demonstrated is that MySQL will often give a false sense of security. That's not what you want from a system ostensibly meant to provide a number of important technical guarantees. Multi-master is the one tickbox feature where MySQL is still clearly in front. Once the PostgreSQL team fin…
Re: MySQL - Do Not Pass This Way Again
#140>>It's good enough. No it ain't. There are plenty of other equally-capable data storage systems that don't come with MySQL's huge raft of edge cases and quirks. Actually, it is good enough. Good enough to powere billions of websites. Good enough not to pay for Oracle, DB2, or trying to cram some half-finished nosql mess in where a relational database works better. MySQL isn't an end all, but please, don't pretend tha…
what's wrong with this picture? Oracle/DB2/SQL Server/$$$ NoSQL someone's missing the elephant in the room.