我做了一些关于什么是我公司最好的数据交换格式的研究。目前我比较Protocol Buffers和Apache Avro。 请求正在我们的体系结构中的组件之间交换,但只能一个接一个地交换。而且我的印象是,Avro在运输时只能一个接一个地比Protocol Buffers大得多。在avro文件中,模式总是存在的,我们的请求有很多可选字段,所以即使我们的数据很小,我们的模式也是很大的。 但我不知道我是否错过了一些东西,它比avro更小,但对我们来说,似乎我们必须将一千个请求放在一个文件中,以使PBuffers和avro的大小相等。 我错过了什么,或者我的想法是真的吗? 谢谢Avro尺寸太大?
0
A
回答
1
这并不奇怪,两个序列化格式会产生基本相同的大小。这些不是压缩算法,它们只是结构。对于任何像样的格式,绝大多数数据将会是您的数据;它周围的结构(这是根据序列化格式而变化的部分)应该可以忽略不计。 您的数据的大小根本不会改变,无论其周围的序列化格式如何。
还要注意,任何声称一种格式总是小于另一种格式的人是说谎或不知道他们在说什么。每种格式都有优点和缺点,所以“最佳”格式完全取决于用例。使用自己的数据测试每种格式以查明哪种最适合您 - 这听起来像是您正在做的那样,这非常棒!如果Protobuf和Avro在您的测试中出现了相同的尺寸,那么您应该根据其他因素进行选择。例如,您可能想要测试编码/解码速度。
相关问题
- 1. 最大尺寸限制在avro
- 2. 的UIImage有太大尺寸
- 3. Silverlight的打印尺寸太大
- 4. Android:AndEngine - AnimatedSprite纹理尺寸太大?
- 5. Perl - 机械化对象尺寸太大
- 6. 我微调的尺寸太大
- 7. cuda 2D分层tex尺寸:太大?
- 8. Microsoft Cognitive Services Emotion API。错误:'图片尺寸太小或太大。'
- 9. 调整尺寸的woocommerce图片尺寸,但产品包装盒仍然太大
- 10. PDFs UIWebView太大,获取文件大小? (不是尺寸)
- 11. CSS:背景大小封面尺寸太大
- 12. javascript最大尺寸
- 13. ColorBox最大尺寸
- 14. 大尺寸的MPI_Type_vector
- 15. BlockingCollection最大尺寸
- 16. 钛手机安装的包装尺寸太大
- 17. Cuda的不修改输入,如果网格尺寸太大
- 18. iOS:添加C++静态库后的应用尺寸太大?
- 19. 使用Composer时Symfony2项目的尺寸太大
- 20. vector.resize函数在尺寸太大时破坏内存
- 21. VBO + glBufferData当尺寸太高时崩溃
- 22. Jquery Mobile的尺寸太小了
- 23. Jcrop有大尺寸图像
- 24. 扩大元素的尺寸
- 25. 收藏最大尺寸
- 26. 最大尺寸/ Oracle Spatial的
- 27. MX画布最大尺寸
- 28. iphone照片最大尺寸
- 29. pgfplots错误:尺寸过大
- 30. WebGL:INVALID_OPERATION:readPixels:ArrayBufferView尺寸不够大