В одном из наших проектов мы используем Kafka с AVRO для передачи данных по всем приложениям. Данные добавляются к объекту AVRO, и объект записывается в двоичный код для записи в Kafka. Мы используем двоичное кодирование, поскольку оно обычно упоминается как минимальное представление по сравнению с другими форматами.
Данные обычно представляют собой строку JSON, и когда она сохраняется в файле, она использует до 10 МБ диска. Однако, когда файл сжат (.zip), он использует только несколько КБ. Мы обеспокоены хранением таких данных в Кафке, поэтому пытаемся сжать, прежде чем писать на тему Кафки.
Когда измеряется длина двоичного кодированного сообщения (т.е. длина массива байтов), оно пропорционально длине строки данных. Поэтому я предполагаю, что двоичное кодирование не уменьшает размер.
Может ли кто-нибудь сказать мне, если двоичное кодирование сжимает данные? Если нет, как я могу применить сжатие?
Спасибо!