TimescaleDB — расширение PostgreSQL
Синонимы: TimescaleDB, Timescale, PostgreSQL time-series, hypertable
TimescaleDB — open-source расширение PostgreSQL для хранения временных рядов. Сочетает возможности специализированной time-series БД с полным функционалом PostgreSQL (JOIN, транзакции, стандартный SQL). Применяется в промавтоматике, IoT, диспетчеризации.
TimescaleDB — расширение PostgreSQL, превращающее стандартную реляционную СУБД в полноценную time-series БД. Разработка Timescale Inc. (ранее TimescaleDB Inc.), первая версия — 2017 год. Apache License 2.0 (сообщественная редакция), есть коммерческий Cloud.
Основные концепции
Hypertables
- Таблицы автоматически партиционируются по времени и опционально по пространству (ключу)
- Запросы остаются стандартным SQL — партиции прозрачны
- Производительность на миллиардах записей — на уровне специализированных TSDB
Continuous Aggregates
- Автоматические материализованные представления с downsampling
- Пример: из сырых секундных данных агрегируется минутное/часовое представление
- Запросы к агрегатам работают в десятки раз быстрее исходных данных
Data Retention Policies
- Автоматическое удаление старых данных (например, сырые > 90 дней)
- Автоматическое перемещение в сжатые/дешёвые хранилища
Compression
- Колоночное сжатие старых чанков
- Экономия диска в 10-20 раз
- Запросы к сжатым данным работают — просто чуть медленнее
Отличия от InfluxDB
- TimescaleDB — полный PostgreSQL со всеми плюсами (JOIN, транзакции, FK, стандартный SQL)
- InfluxDB — специализированная БД, свой язык (Flux), ограниченная работа с реляционкой
- TimescaleDB легче интегрируется в существующий стек предприятия (многие уже используют PostgreSQL)
- InfluxDB чуть быстрее на запись чистых time-series
- По цене эквивалентны (оба open-source в базовой версии)
Применение в промавтоматике
SCADA-архив
- Прямая запись из SCADA через OPC UA → Node-RED/Python → TimescaleDB
- Хранение исторических данных ПЛК с миллисекундным разрешением
- Срок хранения: 10+ лет при использовании сжатия
Диспетчеризация ЖКХ
- 50-5000 ИТП, ЦТП, узлов учёта
- Запись параметров каждые 1-5 минут
- Автоматические агрегаты часовые/суточные/месячные для отчётов и BI
Промышленный IoT
- Миллионы датчиков
- Интеграция с MQTT-брокером через mqtt_consumer
- Запросы через стандартный SQL из Grafana, DataLens, Superset
Применение на объектах РУБИКОН
- Основной выбор для новых проектов с 2023 года
- Диспетчеризация ЖКХ, промышленная автоматика среднего и крупного масштаба
- Полная интеграция с Yandex DataLens, Apache Superset, Grafana
- Backup и репликация — штатные средства PostgreSQL (pg_dump, Streaming Replication)
Экосистема
- pgAdmin / DBeaver — админство
- pgBackrest — промышленный бэкап
- Patroni — высокая доступность (HA)
- Zabbix / Grafana — мониторинг самой БД
- PostGIS — для геоданных диспетчеризации
Частые вопросы
Нужен ли TimescaleDB если есть обычный PostgreSQL?
Для малых объёмов (миллионы записей) обычный PostgreSQL справляется без TimescaleDB. Расширение становится критичным от 100 млн+ записей: даёт автоматическое партиционирование, continuous aggregates, 10-20x сжатие. Устанавливается как расширение **CREATE EXTENSION timescaledb;** на существующую PostgreSQL-базу, без миграции данных. Для новых проектов диспетчеризации сразу ставим — чтобы не переделывать когда данных накопится.TimescaleDB Community или Cloud — что выбрать?
Community (бесплатная, Apache License) — для on-premise развёртываний, полный функционал кроме мульти-ноды и Live Follower. Для 95% применений промавтоматики её достаточно. Timescale Cloud (SaaS в AWS) — для стартапов и облачных проектов, в РФ после 2022 проблемно. Для КИИ и оборонки — только Community on-premise.
Источники
- TimescaleDB Documentation — Timescale Inc.
Автор: Sergey
Опубликовано: 28.10.2026
Обновлено: 28.10.2026