数据存储优化 (一):存储格式对比Json、ProtocolBuffer

对比Json和ProtocolBuffer

1、JSON因为有一定的格式,并且是以字符存在的,在数据量上还有可以压缩的空间。而ProtocolBuffer上大数据量时,空间比JSON小很多。
2、JSON各个库之间的效率相差比较大,jackson库和GSON就大概有5-10的差距。而ProtocolBuffer只需要一个,没有所谓的多个库的区别。

Json样例:

{
    "DevInfo":{
        "SN":"Android",
        "DI":"863363036038592-460019031508084-144379774dc1c0b8",
        "IMSI":"460019031508084",
        "MAC":"6c:5c:14:25:be:ba",
        "DBG":"0"
    }
}

ProtoBuffer样例:

大小比对

fileName fileTyoe storageFormat fileSize
app.txt json textFile 195M
app.proto protobuffer textFile 91M
app_txt.tar.gz json gzip 1.8M
app_proto.tar.gz protobuffer gzip 640K

上面的表应该可以看得比较清楚了,在大数据的应用中proto是非常占优势的,数据都进行压缩,proto约为json的1/3

参考文章:https://developers.google.com/protocol-buffers/docs/javatutorial

猜你喜欢

转载自blog.csdn.net/u010010664/article/details/80254338