Table of Contents |
---|
TimescaleDB Timescale - БД временных рядов с открытым исходным кодом, основанная на Postgresql. В отличие от InfluxDB, не хранит все индексы в оперативной памяти, поэтому может быть использована для хранения больших объемов метрик. Кроме того, в этом случае используется одна и та же БД Postgresql для хранения метрик, статистики потоков и настроек сбора данных.
Установка и настройка TimescaleDB
В процессе настройки должна быть установлена определенная версия Postgresql (9.6, 10 или 11). Если на сервере установлена более ранняя версия Postgresql (например, из стандартных репозиториев Centos 7 устанавливается Posgresql 9.2), необходимо ее удалить, включая исполняемые файлы в /usr/bin.
...
Code Block | ||||
---|---|---|---|---|
| ||||
\q exit |
Настройка удаления устаревших данных при помощи cron
Для экономии дискового пространства устаревшие данные могут удаляться периодически при помощи cron. Например, проверка таблицы conditions каждые 5 минут и удаление данных старше 12 часов может быть настроена следующим образом:
Code Block | ||||
---|---|---|---|---|
| ||||
*/5 * * * * PGPASSWORD="wcsoam" /usr/pgsql-9.6/bin/psql -h localhost -p 5432 -U wcsoam -d wcsstat -w -c "SELECT drop_chunks(interval '12 hours', 'conditions');" |
Структура БД
Postgresql должен содержать следующую таблицу для хранения метрик
Поле | Тип | Примечание |
---|---|---|
CONDITIONS | ||
time | timestamptz | NOT NULL |
node_id | bigint | NOT NULL |
media_id | character varying(255) | |
video_height | bigint | |
video_width | bigint | |
video_rate | bigint | |
video_sync | bigint | |
video_fps | bigint | |
video_nack | bigint | |
video_pli | bigint | |
video_codec | bigint | |
audio_sync | bigint | |
audio_rate | bigint | |
audio_lost | bigint | |
audio_codec | bigint |
Данные метрик фрагментируются и хранятся в подтаблицах, объем каждой из которых определяется заданной при настройке длительностью фрагмента. Для ограничения количества подтаблиц рекомендуется настройка очистки устаревших данных при помощи cron с указанием максимального времени хранения данных.