Schema Registry Overview
As the diagram below instructions, Schema Registry is part of the enterprise services that powers streams processing.
Schema Registry provides a shared repository of schemas that allows applications to flexibly interact with each other.
Applications built often need a way to share metadata across 3 dimensions:
-
Data format
-
Schema
-
Semantics or meaning of the data
The Schema Registry design principle is to provide a way to tackle the challenges of managing and sharing schemas between components and in such a way that the schemas are designed to support evolution such that a consumer and producer can understand different versions of those schemas but still read all information shared between both versions and safely ignore the rest.
-
Centralized registry – Provide reusable schema to avoid attaching schema to every piece of data
-
Version management – Define relationship between schema versions so that consumers and producers can evolve at different rates
-
Schema validation – Enable generic format conversion, generic routing and data quality