Реестр схем данных
Примечание
Функциональность находится на стадии Preview.
Сервис Schema Registry реализует реестр схем — централизованное хранилище для управления и проверки схем данных. Реестр схем позволяет обеспечить безопасную эволюцию схем данных, решить проблемы совместимости данных и повысить производительность систем, сократив объем данных, передаваемых по сети. Кроме того, реестр схем позволит соблюсти требования безопасности по работе с данными и наладить совместную работу между командами. В Schema Registry вы можете добавлять схемы формата Avro
Пространство имен
Пространство имен (namespace) — это некоторое множество схем. Схемы и субъекты из разных пространств имен полностью изолированы друг от друга. Пользователь самостоятельно решает сколько пространств имен создавать и по какому принципу размещать схемы в них. Создание референсов между схемами из разных пространств невозможно.
Субъект
Субъект (subject
Конкретная версия субъекта содержит метаинформацию о схеме и саму схему. Версии схем нумеруются по порядку, увеличиваясь на единицу. Каждая версия схемы уникальна. Вы можете сравнивать разные версии схем.
Схема
Схема (schema
Схемы используются для проверки структуры данных в сообщениях о событиях и гарантируют, что производители и потребители отправляют и получают данные в одном и том же формате. Схемы определяются в реестре схем только внутри субъекта.
Референс
Референс (schema reference
- Имя референса. Для Avro справочное имя — это полное имя схемы, для JSON — URL-адрес, а для Protobuf — имя другого файла Protobuf (как указано в директиве
import
). - Имя субъекта, под которым зарегистрирована схема для референса.
- Версия, представляющая точную версию схемы зарегистрированного субъекта.
Пример референса для схемы формата Protobuf
Рассмотрим схему msg2.proto
в субъекте test-msg2
, которая ссылается на схему msg1.proto
в субъекте test-msg1
.
содержимое файла msg1.proto
:
message msg1 {
int8 my_field = 1
}
содержимое msg2.proto
:
import "msg1.proto"
message msg2 {
msg1 my_field = 1
}
Чтобы связать эти схемы, при загрузке схемы msg2.proto
в субъект test-msg2
укажите референс:
msg1.proto
— имя референса;test-msg1
— имя субъекта, под которым зарегистрирована схема для референсаmsg1.proto
;1
— версия схемы референса.