Google app engine googleappengine上的协议缓冲区与JDO
我正在开发一个可以从GAE获取数据的移动应用程序,我正在尝试在使用协议缓冲区和JDO之间做出选择。首先,我不知道如何使PBs持久化。我知道这只是JDO注释标签的问题 我也看到了他们警告PB数据不能被索引的地方。不过,我不确定这对我来说是否是个问题。有没有一种快乐的媒介,比如使用JDO进行持久化,而使用PB进行通信 谢谢Google app engine googleappengine上的协议缓冲区与JDO,google-app-engine,google-cloud-datastore,jdo,protocol-buffers,Google App Engine,Google Cloud Datastore,Jdo,Protocol Buffers,我正在开发一个可以从GAE获取数据的移动应用程序,我正在尝试在使用协议缓冲区和JDO之间做出选择。首先,我不知道如何使PBs持久化。我知道这只是JDO注释标签的问题 我也看到了他们警告PB数据不能被索引的地方。不过,我不确定这对我来说是否是个问题。有没有一种快乐的媒介,比如使用JDO进行持久化,而使用PB进行通信 谢谢 编辑:听起来最初的考虑是一个坏主意,但我仍然想知道使用PBs向客户传输数据是否能带来好处。将JDO对象转换为PB对象以传输到客户端的开销是否会超过PBs的好处?事实上,这听起来就
编辑:听起来最初的考虑是一个坏主意,但我仍然想知道使用PBs向客户传输数据是否能带来好处。将JDO对象转换为PB对象以传输到客户端的开销是否会超过PBs的好处?事实上,这听起来就像GAE内部发生的事情,无论如何,这可能意味着这是一个很好的方式…在这里的派对上迟到,但答案是“视情况而定”:-D
协议缓冲区具有高效、工作于多种语言的优点,java、Python、C++是谷歌支持的,但有第三方支持的其他语言。它们是可扩展的,并且非常易于维护
正如您所指出的,JDO对象是由应用程序引擎自动索引的,这很难丢失,尽管您可以非常简单地构建自己的索引坦率地说,我现在使用协议缓冲区语言作为数据定义语言,但大多数东西都是以JSON的形式发送的——它们只有在需要大量存储时才会转换回protos,我可以节省大量成本……是否可以跳过JDO/JPA,直接向数据存储发送PB数据?