Data Historian

Средство записи данных для быстрой архивации и воспроизведения

Если требуется записывать каждое значение в высокоскоростном процессе, реляционная база данных типа SQL Server, MySQL или Oracle может не справиться с этой задачей. Благодаря функции Historian DataHub работает как бортовой самописец данных процесса и обеспечивает сохранение и извлечение данных с высокой скоростью с возможностью обработки миллионов транзакций в секунду.

Функции архивного хранилища данных

Функция DataHub Historian представляет собой механизм для хранения исторических данных с высокой скоростью и низкими затратами, который сохраняет очень маленький объем данных на каждое изменение величин, благодаря чему сохраняемые данные занимают очень мало места на диске. Historian поставляется с функцией управления дисковым пространством, которая позволяет указать, какой объем данных требуется хранить для каждой точки или в течение какого времени требуется хранить данные, а также время изменения имен файлов хранилища. Все эти возможности помогают оптимизировать расход свободного места на диске.

Функцию Historian также можно настроить для автоматического сохранения истории по точкам ввода данных при запросе этой истории клиентской программой. Например, если клиенту требуется отследить изменение конкретных данных, клиентская программа инициирует процедуру сохранения в архивном хранилище данных по этим точкам данных, чтобы обеспечить их доступность в случае, если клиентской программе будет необходимо вернуться и просмотреть данные по прошлым периодам. Предварительная настройка функции Historian не требуется.

Обзор технических данных

  • В записи указывается имя точки, значение, качество и метка времени. Доступ к записи можно получить очень быстро.
  • Для сохранения данных в памяти с периодической записью данных на диск используется кэширование в оперативной памяти. Это позволяет очень быстро обрабатывать запросы, поскольку некоторые из них могут полностью обслуживаться кэшем памяти без считывания с диска.
  • Но даже при чтении с диска функция Historian способна считывать более 1 миллиона значений в секунду на стандартном компьютерном оборудовании.
  • Высокоэффективные алгоритмы хранения гарантируют сохранность всех данных.
  • Файлы исторических данных создаются, сохраняются и вызываются автоматически.
  • Помимо прямых запросов необработанных данных Historian предлагает встроенные функции обработки запросов с созданием аналитической информации за выбранный период времени от нескольких секунд до недель, месяцев или более длительных периодов. Можно извлечь средние числа, процентные значения по высокому и низкому качеству, временные корреляции, регрессии, стандартные отклонения и многое другое.
  • Доступ к архивному хранилищу данных можно получить через приложения DataHubQuickTrend и WebView, а также посредством встроенного языка сценариев Gamma.
  • Многочисленные средства обхода мертвых зон позволяют экономить пространство на диске путем удаления повторяющихся или ненужных значений.

Технические вопросы

Каков размер данных, сохраняемых на диске?

На каждое сохраненное значение отводится 18 байт на диске. Поддерживаются только булевы операторы, целые числа и числа с плавающей запятой. Архивное хранилище данных DataHub не сохраняет строки.

Число сохраненных значений за определенный период зависит от скорости изменения данных. Архивное хранилище данных DataHub не делает выборки данных — здесь сохраняется каждое изменение. Если точка данных изменяется всего 4 раза в день, то на день работы с данными потребуется 72 байта на диске. Если точка ввода данных изменяется каждые 100 мс, то на день работы с данными потребуется 15,5 Mб.

Для данных OPC DA скорость изменения может быть ограничена путем изменения минимального периода обновления подключения OPC. Это позволяет просчитать самый неблагоприятный сценарий. Метки времени на диске записываются с ближайшим наносекундным разрешением.

Выполняется ли сжатие данных в архивном хранилище?

Архивное хранилище данных DataHub не сжимает данные на диске. В нем сохраняются только измененные значения, поэтому последовательные дублируемые значения в файле отсутствуют.

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

В целом, архивное хранилище данных DataHub использует события изменения данных для обеспечения сбора всех важных данных и средства обхода мертвой зоны для фильтрации незначительных событий. В результате пользователи получают идеальную копию потока данных (если средства обхода мертвой зоны не установлены) или копию потока данных с высокой точностью воспроизведения, в которой из входных данных удаляется только шум. Некоторые другие хранилища периодически делают выборки данных, вследствие чего файл занимает на диске существенно больше места, а также возникает риск пропустить важные события, которые происходят в промежутке между выборками.

Как получить доступ к данным в архивном хранилище данных?

Получить доступ к данным в архивном хранилище данных можно разными способами:

  1. Использование DataHub QuickTrend,
  2. Использование средств управления трендами в DataHub WebView,
  3. Использование функций создания сценариев DataHub (сценарии на языке Gamma),
  4. Использование OPC UA (ожидается),
  5. Либо можно считывать файлы исторических данных напрямую. Формат файла данных очень простой. Любой может создать средство для чтения этих файлов.

При наличии поддержки UA пользователям будет предложен доступ к историческим данным. В настоящее время хранилище включает в себя все аналитические запросы, определенные по спецификации OPC HDA, поэтому эти запросы будут также входить в объем поддержки UA.

Сценарии на языке Gamma также позволяют отправлять аналитические запросы в соответствии со спецификациями OPC HDA.

Могу ли я получать доступ к историческим данным с веб-страницы?

Да, как было сказано выше, доступ к историческим данным можно получить на экранах WebView с помощью средства управления трендами. Кроме того, поскольку исторические данные доступны на языке Gamma, можно с легкостью написать страницу ASP посредством веб-сервера DataHub, который реализует исторический запрос веб-служб. Любая HTML-страница может содержать исторические данные. Считывать эти данные можно также посредством вызовов XmlHttpRequest из Javascript.