protobuf 与程序的数据 结构组织

2013-04-28 15:55:24 +08:00
 zhfsxtx
使用protobuf 之后,否还是需要自己写数据结构来存储管理 数据, 直接使用protobuf 的message来存放大量数据是不是不大合适,也不方便查找,修改,删除,新建等操作? 请用过的大大指点下啊
6068 次点击
所在节点    程序员
7 条回复
nullptr404
2013-04-28 17:18:38 +08:00
你还没理解protobuf是个什么东西,这东西根本不是用来存数据的,也不提供类数据库的功能。它只是相当于一个代码生成器,生成对应平台/语言的消息代码结构。这样你的通信协议只要维护一个.proto文件就行了。
chmlai
2013-04-28 17:26:04 +08:00
直接用protobuf生成的类, 扩展麻烦.
自己另外写数据结构的话, 写Mapping麻烦.
marchtea
2013-04-28 19:22:26 +08:00
protobuf本身的目的还是数据交换,而不是用来存放数据。如果要存到数据库里头的话还是得提出来。
iamxhu
2013-04-29 18:41:58 +08:00
去年有段时间看了看protobuf,感觉这货就是Google扔出来的一个lite版。
主要用来处理不同系统间通信时统一的数据交互方式,按理应该把RPC也一起给做了,但是Google偏要把内部基于Protobuf实现的RPC功能给删了。一个体系的东西,只将其中一部分开源,让人感觉太没诚意了。
Facebook如Thrift就要好得多。
现在谁说Google开放,我都觉得TMD扯淡。除了发了几篇论文,内部那些稍微有点含量的东西都藏着掖着。
tarsier
2013-04-29 18:56:56 +08:00
@iamxhu 对的,所以Google的朱会灿到了腾讯soso之后,就山寨了这么一套叫做poppy的东西。 protobuf + RPC
marginleft
2013-04-29 20:54:51 +08:00
@iamxhu 赞同。我第一了解protobuf,是因为研究http://dl.google.com/vgsa/vgsa_20090210.7z 的时候,发现很多文件,头部都写着,自动生成的文件。然后好奇,google了一下,才开始了解这货。google内部技术,确实强大,貌似gsa建立索引等关键部分,都是用自己的编译器编译的,还有什么google borg。一大堆。

PS:gsa root以后,大开眼界。google技术真牛。不过,人家自己搞的好东西,也没有分享的责任。分享一点也算好的。
hooluupog
2013-04-29 22:13:03 +08:00
@ iamxhu facebook的Thrift还是是来自google的前员工做的,受了protobuf的启发,google到现在也没说什么。如果换其他公司,估计早就索要专利费了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/67260

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX