Сжатие

Сжатие используется для уменьшения трафика по сети при передаче большого количества данных, а также для создания сразу сжатых дампов.
Внутренний формат сжатия ADQM можно использовать при передаче данных. Формат сжатых данных нестандартный, для работы с ним используется специальная программа "Clickhouse-compressor". Она устанавливается вместе с пакетом clickhouse-client. Для повышения эффективности вставки данных можно отключить проверку контрольной суммы на стороне сервера с помощью настройки http_native_compression_disable_checksumming_on_decompress.
Если в URL указано compress=1, то сервер сжимает отправляемые данные. Если указано decompress=1, то сервер распаковывает те данные, которые передаются методом POST.
Также можно использовать сжатие HTTP. ADQM поддерживает следующие методы сжатия:
  • gzip;
  • br;
  • deflate;
  • xz.
Для отправки сжатого запроса POST добавьте заголовок Content-Encoding: compression_method. Чтобы ADQM сжимал ответ, разрешите сжатие настройкой enable_http_compression и добавьте заголовок Accept-Encoding: compression_method. Уровень сжатия данных для всех методов можно задать с помощью настройки http_zlib_compression_level.
Примеры:
Отправка сжатых данных на сервер
$ echo "SELECT 1" | gzip -c | \
  curl -sS --data-binary @- -H 'Content-Encoding: gzip' 'http://localhost:8123/'
Получение сжатых данных с сервера
$ curl -vsS "http://localhost:8123/?enable_http_compression=1" \
    -H 'Accept-Encoding: gzip' --output result.gz -d 'SELECT number FROM system.numbers LIMIT 3'
$ zcat result.gz
Предыдущий раздел
1.6 СУБД аналитических витрин хранилища данных
Следующий раздел
Клиент командной строки
Была ли страница полезной?