4 ms·
Some engineers I worked with went and interviewed people at various San Francisco startups about their experiences with their databases. The MySQL startups ten
by jes5199 13y ago
Some engineers I worked with went and interviewed people at various San Francisco startups about their experiences with their databases.
The MySQL startups tended to say "We love MySQL. We've gotten in the habit of taking an hour or two of downtime in the middle of the night every week to run all of our schema migrations, and we've had to build our process around that, but one we had it in place, everything's been fine."
The PostgreSQL startups said "We love PostgreSQL. We run schema migrations in real-time during the middle of our workday, and we don't have any problems."
- smileysteve 13y agoVery important to note that MySQL 5.6 has ONLINE ALTER.
- maaku 13y agoIs it transactional?
- dangrossman 13y agohttps://blogs.oracle.com/mysqlinnodb/entry/online_alter_table_in_mysql https://blogs.oracle.com/mysqlinnodb/entry/online_alter_tabl...
- Sanddancer 13y agoLooking through the documentation, though, it's even worse than just saying every alter is an offline alter. There are a few, but significant, schema changes that one could want to make -- like when dealing with a table that has full text search -- that need to be done offline; you have to tread real real lightly in dealing with online alters. I'd personally argue that online alter is not ready for prime time with 5.6; there are too many other things they need to do with the database engines to make it really useful.
- ceejayoz 13y agopt-online-schema-change from Percona addresses this particular point with MySQL nicely for us, incidentally. We use their Percona XtraDB Cluster fork and are quite happy.
- gtaylor 13y agoBut that's not included in mainline MySQL, correct?
- ceejayoz 13y agoThe Percona Toolkit works with mainline MySQL and is trivial to install.
- gtaylor 13y agoI guess that means "No, it's an unofficial, third party toolkit".
- ceejayoz 13y agoSo's jQuery, but that hardly stops me from using it. Unsure as to the point you're trying to make.
- gtaylor 13y agoThere is no "point". I asked a question and you didn't answer it directly.
- Iftheshoefits 13y agoFor starters, the requirement of a third-party library introduces at least two problems: 1. An additional potential point of failure 2. The core software (a DB, in this case) can (and probably will) evolve independently of the third-party tool--thus introducing an additional layer of maintenance problems. I'd argue further--and this is of course just an opinion--that such a basic feature as this ought to be supported out-of-the-box by anything that claims to call itself a "database" in the sense that MySQL does.
- nphase 13y agoWhich tools enable real-time schema migrations in Pg?
- gtaylor 13y agoCREATE INDEX CONCURRENTLY, ALTER, and others. Batteries included. This has saved our bacon a number of times. The only kind of DB-related downtime we have is when we're doing a Postgres upgrade.