Перейти к основному содержимому

Сжатие данных

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

Выбор алгоритма сжатия данных

Selena поддерживает четыре алгоритма сжатия данных: LZ4, Zstandard (или zstd), zlib и Snappy. Эти алгоритмы сжатия данных различаются по степени сжатия и производительности сжатия/распаковки. Как правило, степени сжатия этих алгоритмов ранжируются следующим образом: zlib > Zstandard > LZ4 > Snappy. Среди них zlib показывает относительно высокие степени сжатия. В результате высокого сжатия данных производительность загрузки и запросов к таблицам с алгоритмом сжатия zlib также снижается. LZ4 и Zstandard, в особенности, имеют хорошо сбалансированные степени сжатия и производительность распаковки. Вы можете выбирать среди этих алгоритмов сжатия в соответствии с потребностями вашего бизнеса в меньшем объеме хранения или лучшей производительности. Мы рекомендуем LZ4 или Zstandard, если у вас нет специфических требований к уменьшению объема хранения.

ПРИМЕЧАНИЕ

Различные типы данных могут влиять на степень сжатия.

Указание алгоритма сжатия данных для таблицы

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

Следующий пример создает таблицу data_compression с алгоритмом Zstandard. Подробные инструкции см. в разделе CREATE TABLE.

CREATE TABLE `data_compression` (
`id` INT(11) NOT NULL COMMENT "",
`name` CHAR(200) NULL COMMENT ""
)
ENGINE=OLAP
UNIQUE KEY(`id`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`id`)
PROPERTIES (
"compression" = "ZSTD"
);

ПРИМЕЧАНИЕ

Если алгоритм сжатия данных не указан, Selena использует LZ4 по умолчанию.

Вы можете просмотреть алгоритм сжатия таблицы с помощью SHOW CREATE TABLE.