Versioning data structures
Snowplow is designed to make it easy for you to change your tracking design in a safe and backwards-compatible way as your organisational data needs evolve.
Data structures are used to describe the structure your data should be delivered in. The structure itself is described by a JSON schemas. Each schema carries a version number expressed as three numeric digits. As your schema evolves, all previous versions of that schema remain available to ensure backwards-compatibility.
Why is versioning important?โ
As well as good practice, versioning has an important role in telling Snowplow Loaders how to handle the changes when loading into your data warehouse(s).
For example, for certain changes there will be a need to create new columns, update columns or even create whole new tables. For this reason, it's important you understand when your change is breaking and version correctly.
๐๏ธ Using the JSON Editor
How do I version?
๐๏ธ Using the Data Structures Builder
Versioning is automated when using the Data Structure Builder to create or edit your custom Data Structures for your Events and Entities.
๐๏ธ Using Iglu
How do I version?
๐๏ธ Amending schemas
Fixing a mistake in an existing schema version