Как стать автором
Обновить

Комментарии 9

Спасибо, а для повторяемости и корректировок эксперимента код тестов/отчетов опубликуете (github)?

Да, добавил ссылку на репозиторий

Я конечно извиняюсь, но мерять компрессию для случайных данных - это весьма специфичная забава. Меряйте компрессию своих данных.

Если говорить о кодеках в КХ, то подход очень простой - понять что у вас за данные, и как они лежат; подобрать ключ сортировки таким образом, чтобы энтропия была минимальной (тут еще, конечно, надо учитывать то, как вы эти данные потом запрашиваете), и уже потом поиграться с кодеками (которые, кстати, можно накладывать друг на друга - сначала пожать даблдельтой, а сверху придавить LZ4, например).

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

Мой любимый вопрос на собеседовании как раз - как влияет на производительность сжатие. 9 из 10 дают неправильный ответ, причём далеко не джуны

а как звучит развернутый правильный ответ? Или ответа из коммента выше достаточно?

Самая дорогая операция с OLAP системах - физическое чтение или запись. Сжатие дает буст производительности как раз за счет того что кол-во физических чтений и записи уменьшается

Спасибо за материал. Подскажите, какая версия ClickHouse использовалась при замерах?

Версия 23.1.3.5

Странно, что в тест не включили просто сжатие ZSTD без кодеков.

От себя могу добавить:

  • в первую очередь подбираем ORDER BY таблиц, потом уже тестируем кодеки, если нужно

  • тестируйте на своих реальных данных для каждой конкретной таблицы

  • для целых чисел (включая Date, DateTime, Decimal и Enum) часто хорош вариант (T64, LZ4)

  • для строк не ошибкой будет всегда выбирать между двумя вариантами: ZSTD или LowCardinality

  • LowCardinality может быть выгоден и гораздо больше чем для 10000 уникальных значений, особенно если строки длинные

  • для коротких строк можно по умолчанию оставлять LZ4

  • LZ4HC очень медленный на вставку

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории