Я был вполне уверен, что это распространенный вариант использования, но после полдня поиска в Google мне нужно заполнить вопрос.
Мне бы очень хотелось алгоритм, который я могу запустить на совокупности данных дляопределить словарь (как структуру данных), а затем использовать этот словарь для очень быстрого и эффективного сжатия вновь поступающих данных благодаря этому словарю.
Например, я бы запустил его на 10 000 сообщений общим объемом 10 МБ, чтобы определить словарьструктура данных, делитесь этим словарем между всеми сторонами, а затем обменивайтесь сообщениями, наслаждаясь очень быстрым и сильным сжатием.
Есть ли что-то в этом роде?IBM DB2 делает именно это , но я сомневаюсь, что они открыли этот подход.zlib позволяет передавать словарь , но это необработанный байтовый массив, который необходимо обрабатывать для каждого сообщения, и нет способа генерирования указанного байтового массива.
Идея храненияструктура данных в памяти позволяет избежать накладных расходов при обработке сообщений.
Бонусные баллы за реализацию Java.