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.

Hence, the value that Schema Registry provides and the applications that integrate with it are the following:
  • 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

The following image shows Schema Registry usage in Flow and Streams Management: