Neither are an incredibly great fit when the schema is unknown. In protobuf after you deser a record there is a map<binary,binary> called unknownFields (or something to that effect) and all the unknown fields land in there.
If that happens you are probably "doing it wrong" as you should release your new schema from leaf applications to root applications so that no one ever needs to see a record with fields they do not understand. On Sun, Aug 31, 2014 at 8:39 AM, Jens Geyer <[email protected]> wrote: > Hi, > > Just wondering if Avro or Thrift are equally suitable when the source >> schema is unknown. >> > > No. Avro holds the schema within the data. > Thrift does not do this (performance), the schema must be known to all > parties up front. > > http://avro.apache.org/docs/1.7.6/spec.html#Schema+Resolution > > However, due to soft-versioning, the Thrift-producing/consuming parties > are not forced to "speak" the same version of the Thrift contract, so there > is some flexibility built into the system. > > Have fun, > JensG > >
