- How does Avro handle schema evolution?
- Avro supports forward and backward compatibility: you can add fields (with defaults) or remove fields without breaking existing producers/consumers. Fields must have defaults to be added in a backward-compatible way.
- When should I use Avro vs Protobuf?
- Avro is simpler to use in dynamic languages (no code generation required, schema is self-describing). Protobuf produces smaller payloads and has better multi-language tooling. Avro is more common in Hadoop/Kafka ecosystems.
- Can Avro represent nested objects and arrays?
- Yes — Avro supports records (objects), arrays, maps (string-keyed objects), unions (nullable fields), enums, and fixed-length bytes. Complex nesting is fully supported.