Настройки TTL для сводных таблиц в пространстве ключей OpsCenter?

По умолчанию сводные таблицы, такие как rollup360, rollup60, rollup7200, rollup86400, имеют значение 0 для default_time_to_live, что означает, что срок действия данных никогда не истекает. Но согласно блогу Opscenter Metrics с использованием встроенного Cassandra при поддержке ttl OpsCenter срок действия столбцов в семействе столбцов rollups60 истекает через 7 дней, в семействе столбцов rollups300 — через 4 недели, в семействе столбцов rollups 7200 — через 1 год, а данные в семействе столбцов rollups86400 не имеют срока действия.

  1. В чем причина этой настройки и где мы устанавливаем TTL для этих таблиц?
  2. Поскольку объем данных OpsCenter растет, не следует ли нам определить TTL для сводных таблиц на уровне таблиц?

Но в opscenterd.conf значения по умолчанию перечислены ниже.

[cassandra_metrics]
1min_ttl = 86400 
5min_ttl = 604800
2hr_ttl = 2419200

Какие настройки имеют предпочтение перед другими?


person Arun    schedule 20.04.2016    source источник
comment
вставить время ttls. Проверьте их, используя ttl (имя поля) в операторе выбора.   -  person phact    schedule 20.04.2016


Ответы (2)


Существуют значения по умолчанию, если они нигде не указаны в документации. :

1min_ttl Устанавливает время в секундах до истечения срока действия 1-минутных точек данных. Значение по умолчанию — 604800 (7 дней).

5min_ttl Устанавливает время в секундах до истечения срока действия 5-минутных точек данных. Значение по умолчанию — 2419200 (28 дней).

2hr_ttl Устанавливает время в секундах до истечения двухчасовых точек данных. Значение по умолчанию — 31536000 (365 дней).

24hr_ttl Устанавливает время истечения 24-часовых точек данных. Значение по умолчанию — 0 или никогда.

Если вы их не установите, будут использоваться значения по умолчанию, но если вы переопределите их в разделе [cassandra_metrics] файла opscenterd.conf. Когда агент на узле хранит сводку в течение определенного периода времени, он будет включать любой TTL, с которым он связан, то есть (не совсем так, как это делает opscenter, но в демонстрационных целях):

INSERT INTO rollups60 (key, timestamp, value) VALUES (...) USING TTL 604800;

В вашем примере вы понизили TTL, что уменьшит объем хранимых данных. Таким образом, для:

1) Вы устанавливаете более низкий TTL, чтобы уменьшить объем данных, хранящихся на диске. Вы можете настроить его, как указано в вашем билете. Хотя стратегия уплотнения может существенно на это повлиять.

2) В таблицах есть настройка ttl по умолчанию, но на самом деле нет большой разницы между установкой ее для каждого запроса и ее наличием в таблице. Выполнение таблицы изменений довольно дорого, если ее нужно изменить, по сравнению с простым изменением значения ttl для вставок. Если возникают проблемы с устаревшими данными в таблицах, попробуйте переключиться на LeveledCompactionStrategy (это не увеличивает количество операций ввода-вывода при сжатии, но, вероятно, незаметно)

person Chris Lohfink    schedule 20.04.2016

Согласно: https://docs.datastax.com/en/latest-opsc/opsc/configure/opscChangingPerformanceDataExpiration_t.html

«Отредактируйте файл имя_кластера.conf».

Крис, вы предложили отредактировать файл opscenterd.conf.

person Mr'Black    schedule 30.09.2016