Совместимость схем
Статья создана
Обновлена 8 сентября 2025 г.
Совместимость схем определяет, могут ли приложения с более новой версией схемы читать данные, записанные в старой схеме, и наоборот.
Schema Registry основан на стандарте Confluent Schema Registry, который выделяет следующие типы совместимости:
- Обратная совместимость (
BACKWARD_COMPATIBILITY) — приложение с новой версией схемы корректно читает данные, записанные в предыдущей версии схемы. - Обратная транзитивная совместимость (
BACKWARD_TRANSITIVE_COMPATIBILITY) — приложение с новой версией схемы корректно читает данные, записанные в любой из предыдущих версий схемы. - Прямая совместимость (
FORWARD_COMPATIBILITY) — приложение с предыдущей версией схемы корректно читает данные, записанные в новой версии схемы. - Прямая транзитивная совместимость (
FORWARD_TRANSITIVE_COMPATIBILITY) — приложение с любой из предыдущих версий схемы корректно читает данные, записанные в новой версии схемы. - Полная совместимость (
FULL_COMPATIBILITY) — одновременно выполняются условия обратной и прямой совместимости. - Полная транзитивная совместимость (
FULL_TRANSITIVE_COMPATIBILITY) — одновременно выполняются условия обратной транзитивной и прямой транзитивной совместимости. - Без проверки совместимости (
NONE) — проверка совместимости не производится.
Подробнее о типах совместимости см. в документации Confluent Schema Registry
В Schema Registry реализована проверка совместимости схем. Вы можете указать, по какому типу совместимости будут проверяться схемы, в параметре Уровень проверки совместимости, а также задать правила проверки в параметре Политика проверок совместимости для JSON. От используемого при проверке типа совместимости также зависит эволюция схемы данных.