В настоящее время я реализую небольшую клиентскую базу данных на Java.Protobufs and Objects Java
Я моделирую транзакции с использованием объектов Java. Каждая транзакция содержит несколько утверждений и некоторые метаданные. Они передаются от клиента к серверу и обратно с использованием сокетов и сериализации Java. Затем они управляются в базе данных (например, обновляются их метаданные и т. Д.)
Я заметил, что собственная сериализация Java одновременно является узким местом, поэтому я хочу отойти от нее. Рассмотрев Kryo и ручной бенчмаркинг, я думаю, что Protobufs - хороший способ заменить сериализацию.
В настоящее время система принимает транзакции и утверждения, определенные как протобуферы.
Мой вопрос: эффективнее ли после получения protobuffer на стороне сервера создать обычный объект транзакции, изменить и использовать его, а затем заполнить новый protobuf для отправки обратно клиенту, или предпочтительнее работать непосредственно на protobuf (операции, которые я выполняю на транзакции на сервере, включают в себя обновление списков и т. д.)
Альтернативно, было бы предпочтительнее использовать Kryo для такого использования?
Ваш вопрос трудно понять –
Отредактировано с учетом того, что – user1018513