3 ms·
Mostly good stuff, but: > You’ll notice that with backend-only data migrations – like the ones Box or Pinterest executed – there was no need for rollback plans
by kerblang 4y ago
Mostly good stuff, but:
> You’ll notice that with backend-only data migrations – like the ones Box or Pinterest executed – there was no need for rollback plans, as the rollout moved forward only after the team had validated that everything worked fine.
Speaking from direct experience: That is outright bullshit. Ideally your testing will catch problems, but if you're migrating to a new database architecture, it's an architecture you don't know well, and by the way, your sys admin never even read the installation requirements. This is yet another reason dual-write is ideal, so that you can roll back late in the game when the new DB suddenly seizes up and goes catatonic (esp. Mongo/Cassandra/ElasticSearch). Be that Negative Ned and plan for the worst.
- kerblang 4y agoAlso: Alpinism is for romantics; engineers seige-climb. Incrementalism is everything. Figure out how to break it down into smaller, safer parts. Big-banging that migration is the almost certain path to failure.
- kerblang 4y agoAlso-also: Institutional knowledge is bullshit. Old-timers will tell you "Don't worry, the system never needs to do that," and they will be dead wrong. Verify architectural impact at the source.