Java:高效地将Protobuf对象存储在MySQL中

3
我在Java中有一个容器对象,其中包含数十万个ProtoBuf对象。
由于容器变得相当大,将其序列化到MySQL数据库似乎是最好的想法。
在Java中,将Protobuf对象存储在MySQL中的最合理方法是什么?
- 序列化和反序列化的正确技术是什么? - 在MySQL模式中,应该使用哪种字段类型来存储序列化的对象?
2个回答

2
使用协议缓冲区内置的序列化技术。序列化protobufs,然后将序列化的数据存储在数据库中。要检索值,只需从数据库中获取数据,然后使用各种parseFrom方法之一获取信息即可。
我不是MySQL(甚至是SQL总体)的专家,但您可能会使用BLOB数据类型来存储此数据。您可以有两个列,一个保存类名,另一个保存数据。此时可以使用Java反射加载所需的类,并在该对象上调用parseFrom。

0
你可能会选择Hibernate,这是一个不错的选择。这种方法的优点在于,你可以将它们序列化为可查询的记录,而不会失去将它们转换回protobuf消息的能力。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接