前言
年轻之时,刚接触数据库就有一直思考一个问题:要是数据量巨大对于数据的存储以及解读有没有什么神器可以助我一臂之力。长大后知道了,原来google家有一开源神器叫protobuf。刚知道的时候俺还是属于懵逼状态。这是啥?有什么好处?要怎么安装?要怎么用?,这篇文章主要就回答这几个问题。
基于自己也是查过很多的资料,大多资料都是copy来copy去,无可奈何,只好自己动手总结一下。
protobuf是什么,怎么来的?
简单的说就是干和xml一样的事,把某种数据结构的信息,以某种格式保存起来。主要用于数据存储、传输协议格式等场合。
专业的解答:
Protocol Buffers 是一种轻便高效的结构化数据存储格式,可用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。
有同学就问了,那不是已经有xml了还造轮子搞个protobuf干啥?。
根本原因还是:xml性能不好啊。
1.时间维度:xml格式化(序列化)的开销倒还好;但是XML解析(反序列化)的开销就呵呵了。
2.空间维度:XML格式为了有较好的可读性,引入了一些冗余的文本信息,所以空间开销也不是太好。
这对于大牛众多的google不能忍啊。必须搞一个不管是性能还是都优于xml的。