Решения для записи сообщений буфера протокола Google - PullRequest
0 голосов
/ 06 июля 2018

Мой проект использует protobufs для наших типов данных. Мы должны иметь возможность записывать наши данные, чтобы их можно было воспроизвести позже. Наш вариант использования - воссоздать событие или повторно обработать те же данные, но с новыми алгоритмами, и проверить на улучшения.

Поскольку данные проходят через нашу систему, это все протобуфы. Они легко сериализуются в байтовый массив, который может быть записан в файлы или, возможно, в виде двоичных объектов в базе данных. Воспроизведение будет просто означать чтение байтового массива и преобразование обратно в protobuf, а затем снова отправить его в наше программное обеспечение.

Существуют ли какие-либо технологии, используемые для записи протобуфов?

Несмотря на то, что первоначальный вариант использования очень прост, в конечном итоге решение станет более сложным. Вероятно, потребуется:

  • Фарм записи на несколько хостов, чтобы не отставать от скорости ввода данных
  • Разрешить запросы, чтобы узнать, сколько данных существует за определенный период времени
  • Воспроизведение только тех записей данных, где какое-либо поле имеет определенное значение
  • Сохранить данные для длительного хранения, например, никогда не удаляйте запись, а вместо этого перемещайте ее на резервную копию на ленте

Я думаю, что вышесказанное лучше всего выполнить с использованием базы данных, в которой хранится некоторое подмножество метаданных вместе с самим байтовым массивом protobuf. Прежде чем я заново изобрету колесо, я хотел бы узнать мнение о том, что уже существует, что может сделать эту работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...