Patterns for deploying webapp updates with no downtime
thegoleffect: Depends on what scale you're dealing with.  If you have a high traffic site, the db should be sharded so if you do a manual switch master-slave, only a small piece would be affected at a given time.But I'm guessing you're dealing with a single M-S setup.  I've asked around and it seems the standard practice for that type of a setup is to create a second table for each one you are attempting to modify, 'insert into table2 select * from table 1;', modify table2, rename table 1, rename table 2 to table 1.  Then, script or manually cope with any 'leftovers' in table 1 that didn't get ported to table 2.Would be interesting to have an in-memory (but written to disk) NoSQL layer sandwiched between MySQL and the user.  Then, you can change schema all you want or switch in/out DB servers without any visible impact.  Might be a leaky abstraction though.  Not like I tried that out.