Thanks!<p>I like to think of Avro in two (related) parts:<p>+ A very compact binary serialization, which lets you efficiently store or transfer data over the wire. (Avro actually also defines a way to encode your data as JSON in cases when you need a human-readable representation.)<p>+ A way to define &quot;data types&quot;. For example this schema [1]  defines what we expect a &quot;Human&quot; entry to look like, and we can now do things like check whether we are missing any information, make sure all fields are valid, sort, efficiently copy objects, etc.<p>This is glossing over many things (files, RPC, ...) but I hope this helps a bit! You can find a lot more information in the official Avro documentation [2] if you&#x27;re curious.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;mtth&#x2F;avsc&#x2F;blob&#x2F;master&#x2F;etc&#x2F;benchmarks&#x2F;schemas&#x2F;Human.avsc" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mtth&#x2F;avsc&#x2F;blob&#x2F;master&#x2F;etc&#x2F;benchmarks&#x2F;sche...</a><p>[2] <a href="https:&#x2F;&#x2F;avro.apache.org&#x2F;docs&#x2F;current&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;avro.apache.org&#x2F;docs&#x2F;current&#x2F;index.html</a>