Skip to main content

Migrating to a new data contract version

·1 min

Data evolves over time, and as such a data contract needs to support that. We do that by ensuring each data contract has a version.

When it comes to creating a new version, the data producer should be looking to provide a migration path.

What this looks like depends on the size of the change and the criticality of the data. It could range from some documentation, to tools and libraries to aid the migration.

As part of the migration, we may decide to have data produced for both the old version and the new for some time. This allows data consumers to move away from the old version without causing any downtime for their users or customers.

Again, the length of this dual writing depends on the size of the migration, the criticality of the data, and so on.

A migration of a data contract to a new version is really no different to a migration of any interface to a new version, so we can learn by looking at how API migrations are managed, how popular open source libraries manage migrations, and any change management process you may already have in your organisation.


Want great, practical advice on implementing data mesh, data products and data contracts?

In my weekly newsletter I share with you an original post and links to what's new and cool in the world of data mesh, data products, and data contracts.

I also include a little pun, because why not? 😅

(Don’t worry—I hate spam, too, and I’ll NEVER share your email address with anyone!)


Andrew Jones
Author
Andrew Jones
I build data platforms that reduce risk and drive revenue.