Какой должен быть оптимальный размер интервала между чанками, если бы у меня был 1 ГБ данных в час

Поскольку я использую TimescaleDB, у меня было 1 ГБ данных в час. Мне нужно определить оптимальный временной интервал фрагмента для того же, чтобы производительность была максимальной. Будет ли это 1 день или 1 час или что-то еще.


person Amandeep Singh    schedule 03.06.2019    source источник
comment
Просто любопытно, зачем вам дополнительное расширение для обработки данных временных рядов? В Postgres уже есть встроенные инструменты для этого.   -  person Avin Kavish    schedule 03.06.2019
comment
Также общее правило для секционирования в postgres — если размер таблицы превышает физическую память системы.   -  person Avin Kavish    schedule 03.06.2019
comment
Спасибо за ответ. Как вы можете видеть, существует много данных, основанных на времени, то есть 1 ГБ в час, а может быть и больше. Для повышения производительности нам нужен timescaledb   -  person Amandeep Singh    schedule 03.06.2019
comment
timescaledb — это расширение postgres.   -  person Avin Kavish    schedule 03.06.2019
comment
Это расширение, которое может повысить производительность для данных временной базы.   -  person Amandeep Singh    schedule 03.06.2019
comment
У вас есть представление о том, насколько велик один кортеж? Запустите это на своем столе select pg_size_pretty(pg_total_relation_size('table_name') / (SELECT count(*) FROM table_name))   -  person Avin Kavish    schedule 03.06.2019


Ответы (1)


Из документов,

Ключевым свойством выбора временного интервала является то, что фрагмент (включая индексы), принадлежащий самому последнему интервалу (или фрагменты, если используются пространственные разделы), помещается в память. Поэтому мы обычно рекомендуем устанавливать такой интервал, чтобы эти сфрагменты занимали не более 25 % основной памяти.

Кусок, по-видимому, составляет около четверти рекомендуемого стандартного раздела postgres.

person Avin Kavish    schedule 03.06.2019