Как использовать адаптивное чанкинг - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь использовать адаптивное чанкинг с timescaleDb 1.0.0. Но это не работает, как ожидалось.

  1. Я создаю гипертаблицу с chunk_target_size => 'estimate'.
  2. Когда я проверяю chunk_target_size, это ~ 120 миллионов - что кажется разумным
  3. Теперь я запускаю тестовую программу, которая зациклится на 5 тыс. Раз и вставит 1 тыс. Строк на транзакцию (всего всего 5 млн. Строк).
    • Когда я проверяю размеры чанков, я вижу чанки размером ~ 3,5 КБ, которые имеют размер всего 152 КБ (первый - 88 ББ)!

Чего мне не хватает?

операторы SQL

1-Создать гипертаблицу

SELECT create_hypertable('mytable', 'time', chunk_target_size => 'estimate';

2-Проверьте chunk_target_size

select table_name, chunk_target_size from _timescaledb_catalog.hypertable;

3-Проверьте размеры кусков

SELECT distinct total_size FROM chunk_relation_size_pretty('mytable');

Дополнительная информация

Фиксированный размер куска :

Когда я установлю chunk_target_size в 100 МБ, chunk_target_size будет ~ 104 миллиона. Но после вставки данных макс. chunk_relation_size также будет только 152 КБ

chunk_time_interval

Когда я устанавливаю chunk_time_interval вместо chunk_target_size, я получаю больше chunk_relation_sizes.

Обновление (2.11.2018)

Я использовал PGTune для улучшения конфигурации базы данных. shared_buffers был только 128 МБ - теперь это 1280 МБ.
С этим изменением chunk_target_size увеличилось примерно до 1,2 миллиарда, но сгенерированные куски все еще имеют размер всего 152 КБ.

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Вот цитата из слабого канала:

Существует два порога «заполнения» порций, которые должны быть достигнуты для включения адаптивного порционирования. Один связан с размером (числом байтов), а другой - с длиной интервала. Эти пороговые значения защищают от воздействия на чанки, которые «недостаточно заполнены». Таким образом, если вы вставите разреженные данные так, чтобы порции не превышали обоих пороговых значений, адаптивная порция не изменит интервалы.

Так что, похоже, мой вариант использования не может использовать функцию оценки.
Также обратите внимание, что функция адаптивного чанкинга все еще находится в бета-версии

ОБНОВЛЕНИЕ 04.2019

Функция адаптивного чанкинга устарела (в версии 1.2)

0 голосов
/ 05 ноября 2018

Мне бы хотелось увидеть больше, чтобы дать вам более точный ответ (возможно, попробуйте наш Slack для более синхронной помощи?).

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

...