Сжатие данных
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.