Schema Registry overview

As the diagram below instructs, 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 three 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. 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: