Last modified: 2012-12-30 20:39:01 UTC
<binasher> want https://www.facebook.com/notes/mysql-at-facebook/online-schema-change-for-mysql/430801045932 integrated with mediawiki <Reedy> that's rather detailed <binasher> wants http://bazaar.launchpad.net/~mysqlatfacebook/mysqlatfacebook/tools/annotate/head:/osc/OnlineSchemaChange.php integrated with mw :) [1] https://www.facebook.com/notes/mysql-at-facebook/online-schema-change-for-mysql/430801045932 [2] http://bazaar.launchpad.net/~mysqlatfacebook/mysqlatfacebook/tools/annotate/head:/osc/OnlineSchemaChange.php
tl;dr summary: This Online Schema Change tool is a PHP script which manages cloning a table, applying an ALTER TABLE, and then swapping it back in place. This runs online -- not interfering with live operations on the main tables -- by using triggers to capture changes made to the original table while the new table is being changed. Note that in a replicated environment, you need to run this on all slaves before running on the master -- but unlike our prior schema update methods, it doesn't require halting replication while running, or switching masters. Sounds pretty spiffy!
I'm not exactly sure about the licensing, but it seems, as long as we keep the file somewhat as is, it should be fine. For MW usage, it seem probably all that we need is a fairly simple wrapper/maintenance script of some kind, to iterate over the list of slaves, then the master, applying any and all patches. Certainly shouldn't be too much work to get done Certainly seems a worthwhile task for Ops or even Gen Eng to get done, especially if we're ideally heading for a more frequent release (to WMF at least), model