Alpha.Historian 4.0 — это сервер истории значений сигналов и событий (см. также руководство по лицензированию Historian), разработанный АО «Атомик Софт» для долговременного хранения промышленных данных. Система обеспечивает высокую производительность и надёжность, необходимые для работы в критически важных АСУ ТП.

Назначение и архитектура

Основная задача Alpha.Historian — долговременное хранение исторических данных: значений сигналов и событий от промышленного оборудования, включая данные из системы тревог. Архитектура включает:

  • Сервер истории — служба/сервис для управления БД
  • Базы данных — физическое хранилище в формате NoSQL
  • Модуль истории — интерфейс с Alpha.Server
  • AccessPoint — API для клиентских приложений
Схема получения данных

Alpha.ServerМодуль историиAlpha.Historian

Предоставление данных клиентам: Alpha.HistorianAccessPointHMI/Trends/Alarms

Производительность

Alpha.Historian 4.0 демонстрирует впечатляющие показатели производительности, достаточные для обработки больших объёмов промышленных данных:

1.6М
Чтений/сек
800К
Записей/сек
Высокая производительность

Максимальная скорость чтения достигает 1,600,000 операций в секунду, а записи — 800,000 операций в секунду. Этого достаточно для обслуживания крупных промышленных комплексов с десятками тысяч точек сбора данных, например в энергетических объектах.

Форматы базы данных

Alpha.Historian поддерживает два формата хранения данных для обеспечения совместимости и оптимизации производительности:

Формат 4x (новый)

Современный формат с улучшенной архитектурой:

  • Журнал транзакций — обеспечивает целостность данных
  • Фрагменты данных — эффективное разбиение на блоки
  • Слияние данных — автоматическая оптимизация хранения
  • Запись с любой меткой времени — гибкость при поступлении данных
  • Компактное хранение — минимизация объёма дискового пространства
  • Быстрый запуск — сокращённое время инициализации системы

Формат 3x (совместимость)

Классический формат для обеспечения совместимости со старыми версиями:

  • Активная/архивная области — разделение оперативных и архивных данных
  • Фрагменты по суткам — организация данных по временным интервалам
  • LZMA-сжатие — коэффициент сжатия 0.2-0.5 для экономии места
# Конфигурация формата 4x в db.jsonc
{
  "format": "4x",
  "storageDepth": 365,  // дни хранения
  "compactionSettings": {
    "fragmentSizeLimit": "100MB",
    "mergeThreshold": 0.7
  }
}

Кроссплатформенность

Alpha.Historian 4.0 работает на различных операционных системах, что обеспечивает гибкость развёртывания:

Поддерживаемые ОС

  • Windows — Windows 10/11, Server 2012-2022
  • Linux — Astra Linux SE, РЕД ОС, Альт СП, Ubuntu

Установка и развёртывание

Windows: MSI-пакет с автоматической регистрацией службы Alpha.Historian.Server

Linux: deb/rpm пакеты с интеграцией в systemctl

# Установка в Linux
sudo dpkg -i alpha-historian_4.0_amd64.deb
sudo systemctl enable alpha.historian.server
sudo systemctl start alpha.historian.server

# Путь установки Linux
/opt/Automiq/Alpha.Historian

# Домашняя папка
/var/lib/Alpha.Historian/server_home

Конфигурация и управление

Система конфигурируется через несколько файлов настроек, позволяющих тонко настроить работу под конкретные требования:

Основные файлы конфигурации

  • server.jsonc — API, мониторинг, DCOM, Alpha.Net
  • local.jsonc — потоки, async-запросы, JSON API
  • db.jsonc — формат БД, расположение данных
Горячая перезагрузка

Все настройки применяются «на горячую» без перезапуска сервиса, что обеспечивает непрерывность работы промышленных систем.

CLI и мониторинг

Для управления и диагностики предоставляется мощный инструмент командной строки:

# Основные команды CLI
alpha.historian.cli stat                    # Статистика работы
alpha.historian.cli config_status           # Статус конфигурации  
alpha.historian.cli config_reload           # Перезагрузка настроек

# Работа с удалённой целью
alpha.historian.cli stat --target server01:4950

Мониторинг через Alpha.Link

Система предоставляет подробную телеметрию через Alpha.Link с организацией в виде дерева сигналов:

  • Instance — общая информация об экземпляре
  • Db — состояние базы данных
  • Config — статус конфигурации
  • Policy — политики хранения данных
  • Api — метрики API
  • AsyncQuery — статус асинхронных запросов
  • Engine — показатели производительности движка
  • License — информация о лицензировании

Оценка объёма данных

Для планирования дискового пространства используются формулы расчёта:

Формат 4x

DatabaseSize = StorageDepth × ΣSource.VolumePerDay

Примерные объёмы по типам данных

  • bool — 1 байт на значение + метка времени
  • int/float — 4-8 байт + метка времени
  • double — 8 байт + метка времени
  • string — переменный размер + метка времени
Практический пример

Для системы с 10,000 сигналов (опрос каждые 5 секунд) и глубиной хранения 1 год потребуется примерно 50-100 ГБ дискового пространства в зависимости от типов данных и коэффициента сжатия.

Интеграция с экосистемой

Alpha.Historian тесно интегрирован с другими компонентами платформы:

  • Alpha.Server — источник оперативных данных
  • Alpha.HMI — отображение трендов и графиков
  • Alpha.Reports — генерация отчётов по историческим данным
  • Alpha.HMI.Alarms — журнал событий и тревог
  • OPC UA HDA — стандартизированный доступ к истории
  • PostgreSQL — возможность SQL-запросов к данным

Такая архитектура обеспечивает надёжное хранение и быстрый доступ к промышленным данным, необходимые для эффективной работы современных систем автоматизации.