在Java的容器对象中有几十万个ProtoBuf对象。
容器变得相当大,序列化到MySQL数据库似乎是最好的主意。
使用Java在MySQL中存储Protobuf对象的最合理方法是什么?
发布于 2012-06-21 15:08:50
使用协议缓冲区内置序列化技术。串行化原型,然后将序列化的数据存储在数据库中。要检索值,只需从数据库中获取数据,并使用各种parseFrom方法之一获取信息。
我不是MySQL方面的专家(甚至是一般的SQL ),但是您可能会使用BLOB数据类型来存储这些数据。您可以有两个列,一个列保存类名,另一个列保存数据。此时可以使用Java反射加载所需的类,并对该对象调用parseFrom。
发布于 2012-06-21 12:10:18
你可能会比Hibernate做得更糟。这种方法的优点是,您可以将它们序列化为可以查询的体面记录,同时又不会失去将它们转换回protobuf消息的能力。
https://stackoverflow.com/questions/11137750
复制相似问题