在今天说到Thrift就不可避免的要谈到Avro。Avro出自Hadoop之父Doug Cutting,其目标是要建立一个新的,标准性的云计算的数据交换和存储的Protocol。它偏向实用,主张建立一个统一的标准,并不介意采用特定的优化。Avro的创新之处在于融合了显式,declarative的Schema和高效二进制的数据表达,强调数据的自我描述,克服了以往单纯XML或二进制系统的缺陷。
Avro-generic方式支持Schema的动态加载,用通用的结构(map)代表数据对象,不需要编译加载直接就可以处理新的数据源,这是相对Thrift的一个非常重要的区别,而这个功能确实在某些情况下非常有用,这正是JD_Thrift开发库的原始启动原因。
JD_Thrift的开源链接:https://github.com/netcomm/thrift_auto_java
本文探讨了Avro和Thrift这两种数据交换格式的特点。Avro由Hadoop之父Doug Cutting提出,旨在创建统一的数据交换和存储标准。其独特之处在于结合了明确的Schema和高效的二进制数据表示,支持数据自我描述。JD_Thrift开发库的开发初衷是为了利用Avro的动态Schema加载能力。
171万+

被折叠的 条评论
为什么被折叠?



