I am learning about Confluent's Schema Registry for all Schema management needs.
And I do not quite understand their approach to versioning...
There is a notion of a subject
, which I see as a namespace. As far as I understand subject must be unique across Schema Registry.
Then there is schema id, or just id
, which is also unique.
And, finally, there is a version
.
Here is the snippet from documentation:
version
: the schema version for this subject, which starts at 1 for each subject
id
: the globally unique schema version id, unique across all schemas in all subjects
So, once I want to modify a schema under a particular subject, what happens to id
and version
fields? Does id
change? Does the version
get incremented?
Another quote:
When schemas evolve, they are still associated to the same subject but get a new schema ID and version
Does every change warrant a new id
and a new version
?