protobuf 与程序的数据 结构组织 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
zhfsxtx
V2EX    程序员

protobuf 与程序的数据 结构组织

  •  
  •   zhfsxtx 2013-04-28 15:55:24 +08:00 6723 次点击
    这是一个创建于 4626 天前的主题,其中的信息可能已经有所发展或是发生改变。
    使用protobuf 之后,否还是需要自己写数据结构来存储管理 数据, 直接使用protobuf 的message来存放大量数据是不是不大合适,也不方便查找,修改,删除,新建等操作? 请用过的大大指点下啊
    7 条回复    1970-01-01 08:00:00 +08:00
    nullptr404
        1
    nullptr404  
       2013-04-28 17:18:38 +08:00
    你还没理解protobuf是个什么东西,这东西根本不是用来存数据的,也不提供类数据库的功能。它只是相当于一个代码生成器,生成对应平台/语言的消息代码结构。这样你的通信协议只要维护一个.proto文件就行了。
    chmlai
        2
    chmlai  
       2013-04-28 17:26:04 +08:00
    直接用protobuf生成的类, 扩展麻烦.
    自己另外写数据结构的话, 写Mapping麻烦.
    marchtea
        3
    marchtea  
       2013-04-28 19:22:26 +08:00
    protobuf本身的目的还是数据交换,而不是用来存放数据。如果要存到数据库里头的话还是得提出来。
    iamxhu
        4
    iamxhu  
       2013-04-29 18:41:58 +08:00   1
    去年有段时间看了看protobuf,感觉这货就是Google扔出来的一个lite版。
    主要用来处理不同系统间通信时统一的数据交互方式,按理应该把RPC也一起给做了,但是Google偏要把内部基于Protobuf实现的RPC功能给删了。一个体系的东西,只将其中一部分开源,让人感觉太没诚意了。
    Facebook如Thrift就要好得多。
    现在谁说Google开放,我都觉得TMD扯淡。除了发了几篇论文,内部那些稍微有点含量的东西都藏着掖着。
    tarsier
        5
    tarsier  
       2013-04-29 18:56:56 +08:00
    @iamxhu 对的,所以Google的朱会灿到了腾讯soso之后,就山寨了这么一套叫做poppy的东西。 protobuf + RPC
    marginleft
        6
    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
        7
    hooluupog  
       2013-04-29 22:13:03 +08:00
    @ iamxhu facebook的Thrift还是是来自google的前员工做的,受了protobuf的启发,google到现在也没说什么。如果换其他公司,估计早就索要专利费了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2446 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 04:22 PVG 12:22 LAX 20:22 JFK 23:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86