RUBICON engineering center

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.

Источники

  1. TimescaleDB Documentation — Timescale Inc.
Автор: Sergey
Опубликовано: 28.10.2026
Обновлено: 28.10.2026
TimescaleDB — time-series PostgreSQL для промавтоматики | РУБИКОН