У нас есть сценарий, в котором мы будем отправлять телеметрию с тысяч машин (на Azure IoT Hub с Mqtt). Идеальным местом для хранения данных будет Cosmos Db, поскольку машины отправляют свои сообщения в формате json. Сообщение содержит большое количество цифр c данных. Проблема в том, что ключи в сообщении json занимают много места, поскольку они повторяются в каждом сообщении.
В нашем сообщении json значения составляют 150 байтов, а конверт и ключи 450 байт.
Если у нас есть 1000 машин x 5 часов / день x 21 день / месяц x 60 минут x 60 se c x 600 B = 226800000 = 216 ГБ / месяц.
Можно ли что-нибудь сделать для сжатия повторяющихся данных, кроме сокращения имен наших ключей?