#timescaledb
Вопрос:
Когда мы выполняем ручное сжатие, вместо уменьшения свободного пространства оно было увеличено.
После сжатия мы также выполнили команду вакуумирования.
Снимок экрана после выполнения ответных запросов. скриншот с ответами на запросы
Образец данных образец-данные
Добавлено сжатие с помощью следующих запросов
ИЗМЕНИТЬ НАБОР ТАБЛИЦ данных ТАБЛИЦЫ (timescaledb.compress,timescaledb.compress_segmentby = ‘insert_time_stamp’);
ВЫБЕРИТЕ compress_chunk(i) ИЗ show_chunks(«таблица данных», older_than => ИНТЕРВАЛ «10 дней») i;
Комментарии:
1. Можете ли вы поделиться несколькими образцами строк ваших данных?
Ответ №1:
Вы проверили, сколько кусков вы сжали?
select total_chunks, number_compressed_chunks, pg_size_pretty(before_compression_total_bytes), pg_size_pretty(after_compression_total_bytes) from hypertable_compression_stats('pages');
┌──────────────┬──────────────────────────┬────────────────┬────────────────┐
│ total_chunks │ number_compressed_chunks │ pg_size_pretty │ pg_size_pretty │
├──────────────┼──────────────────────────┼────────────────┼────────────────┤
│ 107 │ 19 │ 1883 MB │ 543 MB │
└──────────────┴──────────────────────────┴────────────────┴────────────────┘
(1 row)
Вы также можете проверить отдельные фрагменты:
select pg_size_pretty(sum(before_compression_total_bytes)),
pg_size_pretty(sum(after_compression_total_bytes))
from chunk_compression_stats('pages')
where compression_status = 'Compressed';
┌────────────────┬────────────────┐
│ pg_size_pretty │ pg_size_pretty │
├────────────────┼────────────────┤
│ 1883 MB │ 543 MB │
└────────────────┴────────────────┘
(1 row)
Комментарии:
1. Спасибо вам за ваш ответ. Я проверил, это 2 куска. Но, дисковое пространство не уменьшилось. Снова добавил скриншот в вопрос.
2. Спасибо, что поделились образцами данных и скриншотами. Я думаю, вам, возможно, придется использовать что-то получше
timescaledb.compress,timescaledb.compress_segmentby
. Вы можете видеть, что используете столбец с меткой времени, и он, вероятно, создает фрагменты, которые не подходят для группировки. Попробуйте использовать столбец с большей мощностью. Как какая-то категория или что-то, что повторяется по строкам и может быть использовано в дальнейшем в качестве своего рода индекса в ваших запросах. Если у вас есть данные, изменяющиеся каждую секунду, и вы сегментируете их, это приведет к большему количеству метаданных из сегментов, чем сами данные.