Schema exists to define the shape of data. Schemas get distributed across various computing systems, which causes challenges: schemas can get out of sync with one another, data can get persisted in one schema version and need to be read by a different schema version.