Reputation: 4606
There is a few techniques to ensure new changes doesn't break the system, like mentioned above blue-green or canary deployment. Both means applying changes partially (change only part of infrastructure, or run new version in parallel with old one).
However I don't get how to keep data consistency if any major changes comes in data structure (let's say, you made changes for GDPR - pretty possible case, huh?).
Even on NoSQL based solutions it may cause issues (as I imagine it). I've tried to look for solutions, but the problem is only widely mentioned, but rarely addressed.
How is it possible to introduce such techniques and keep data consistency? How does it achieved normally in real life applications?
Upvotes: 1
Views: 3941
Reputation: 2134
If I understand your question correctly you're talking about the Expand-Contract pattern in which you change your system to support multiple data structures during an update.
You would do multiple expand-contracts for a large data structure change that couldn't be done in one deployment.
Also known as Parallel Change.
https://martinfowler.com/bliki/ParallelChange.html
Upvotes: 0