Comparison
AvrovsSchema registry
Avro
each message carries a schema id rather than field names, and adding an optional field does not break the consumers already running.
A compact row-oriented binary format with a first-class schema and well-defined compatibility rules for evolving it. It is the standard on the wire — change feeds, message payloads, anything appended one record at a time — precisely where columnar formats are wrong. Its resolution rules, reading old data with a new schema and vice versa, are why it is bound up with schema registries in practice.
Full entry →Schema registry
the producer registers the schema and gets an id, and the consumer looks that id up rather than guessing at the payload.
A service holding the versioned schemas for messages on a stream, with rules about which changes are allowed. It is what makes a binary format like Avro workable at scale: payloads carry an id rather than field names, and compatibility is checked at registration rather than discovered at consumption. Its usefulness collapses entirely if producers can register incompatible versions, so the compatibility mode is the setting that matters.
Full entry →