Перейти к основному содержимому
Версия: 2.0.x

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

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.