4 ms·
Perhaps I'm missing something, but why not down a segment (shard I guess), upgrade the application and database, then fail over to that shard? This would provi
by orofino 14y ago
Perhaps I'm missing something, but why not down a segment (shard I guess), upgrade the application and database, then fail over to that shard?
This would provide a fail back mechanism assuming you could resolve data continuity.
I'm sure there is a reason this wasn't viable (possibly the data issue), but I was curious.
- msherry 14y agoThis is basically what we did, except during the "upgrade the application and database" step, we suspended all traffic to our app servers. The schema change was an incompatible change (I think this is what you mean by "resolve data continuity"?) So basically, our old code and new code could not run simultaneously, because they were designed against incompatible schemas.
- orofino 14y agoSo if this was the case, why couldn't the other shards handle application requests while you casually upgraded the application and database tier in say... 30 seconds (or even minutes) as opposed to sub 15s?
- jdunck 14y agoAs stated in the post, the db migration was a large enough change that having both codebases working on the migrating db would have been a high cost.