Schema Resolution — Writer's and Reader's Schemas

Schema Resolution — Writer's and Reader's Schemas A data-flow diagram generated by Archify. 01 / Write Side 02 / Encoded Bytes 03 / Read Side 04 / Resolution Writer App · compiled with schema · 01 / Write Side · writer's schema Writer App compiled with schema writer's schema Writer's Schema · fields in write order · 01 / Write Side · defaults declared Writer's Schema fields in write order defaults declared Encoded Record · values only, no names · 02 / Encoded Bytes · 32 bytes Encoded Record values only, no names 32 bytes Schema Registry · version to schema · 02 / Encoded Bytes · Kafka / Espresso Schema Registry version to schema Kafka / Espresso Reader App · uses two schemas · 03 / Read Side · reader's schema Reader App uses two schemas reader's schema Reader's Schema · fields code expects · 03 / Read Side · may differ Reader's Schema fields code expects may differ Schema Resolution · match by field name · 04 / Resolution · Avro spec rules Schema Resolution match by field name Avro spec rules Decoded Record · defaults filled in · 04 / Resolution · extras ignored Decoded Record defaults filled in extras ignored writer's schema compile-time contract encode values in schema order hot path register schema version metadata bytes + version number read path fetch writer's schema lookup reader's schema expected fields two schemas to resolve resolution input translate to reader's schema field-by-field Legend primary data async batch data store data flow