Raj*_*pta 5 java database serialization protocol-buffers
我正在开发Java和Cassandra数据库之上的社交应用程序.我需要在数据库中存储用户共享帖子的帖子/评论,我希望每个评论/帖子序列化数据,然后在一列中将序列化数据存储在数据库中.因此,对于每个评论,将有一个列以序列化格式存储此数据: -
同样,帖子的数据将被序列化并存储为单个列.
前端在每次检索该帖子时都需要快速反序列化.
我正在寻找协议缓冲区作为可能的解决方案.想知道为此任务选择协议缓冲区是否是正确的选择.我正在寻找一种高性能,快速的序列化和反序列化算法,可以在应用程序中大量使用.
是否可以将数据以序列化格式发送给客户端,然后可以对其进行反序列化?服务器到客户端通信?
协议缓冲区当然提供了序列化,尽管 RPC 方面的事情留给您想象(通常一些简单且基于套接字的东西工作得很好)。
protobuf 很好地支持了这些数据类型(尽管您可能想要使用像 ms 到 unix 纪元这样的日期来表示日期)。请注意,protobuf 不包括压缩(除非您还将 gzip 等应用于流)。所以消息将“比字符串长一点(在 protobuf 中总是使用 UTF-8 编码)”。我说“一点”是因为整数类型的 varint 算法可以为 id 提供 1 到 10 字节之间的任何内容和时间戳,具体取决于它们的大小。还有一些(可能是 3 个)字节的字段标头。
如果这听起来不错,那么它应该可以正常工作。不过,如果您有大量文本数据,您可能还想通过 gzip 运行 protobuf 流。Java 通过主要的 google trunk 在 protobuf 中提供了出色的支持。
| 归档时间: | 
 | 
| 查看次数: | 1790 次 | 
| 最近记录: |