Я создаю мобильное приложение (ios / swift), которое подключается к стороне сервера (dockerized c ++ / java микросервисы) с помощью grp c. Данные хранятся в mysql как сериализованные большие двоичные объекты protobuf в сегментированном mysql. Для целей этого вопроса мы можем предположить, что база данных разделена на следующие строки: https://medium.com/pinterest-engineering/sharding-pinterest-how-we-scaled-our-mysql-fleet-3f341e96ca6f
Поскольку сообщения клиент-сервер в основном являются protobuf, есть ли причина НЕ хранить сообщения на стороне клиента напрямую в базу данных без какого-либо перевода для операций CRUD. Я знаю, что обычно не рекомендуется предоставлять клиенту схему db, но действует ли это правило, если объектом db является JSON / protobuf. * 1006 *
Альтернативой является наличие уровня перевода, который преобразует «тип сообщения» protobuf в protobuf "типа данных". Однако я пытаюсь придумать конкретный вариант использования c (несколько клиентских версий и c), где это могло бы помочь. Я бы хотел избежать этого, если для этого нет веской причины.
Любые отзывы приветствуются.