我目前正在用 Java 实现一个小型客户端服务器数据库。
我使用 Java 对象对事务进行建模。每个事务都包含许多语句和一些元数据。这些使用套接字和 java 序列化从客户端传递到服务器并返回。然后在数据库中对它们进行操作(例如:更新它们的元数据等)
我观察到本机 java 序列化目前是瓶颈,因此我想摆脱它。考虑过 Kryo 和手动基准测试后,我认为 Protobufs 是替代序列化的好方法。
系统现在采用定义为 protobuffers 的事务和语句。
我的问题是:在服务器端收到 protobuffer 后,创建一个常规的 Transaction Object,修改和操作它,然后填充一个新的 protobuf 以发送回客户端是否更有效,还是更可取直接对protobuf进行操作(我对服务器中事务的操作涉及更新列表等)
或者,在这样的用例中使用 Kryo 会更好吗?