Представьте ситуацию: ваша компания – системный интегратор – создала, отладила и внедрила проект SCADA, но через полгода-год к вам возвращается заказчик с претензией, что система стала работать крайне медленно, практически парализуя производственный процесс. Особенно, если он связан с управлением, учётом, аналитикой или прогнозированием. Оператор успевает выпить пару чашек кофе, прежде чем обновится отрисовка экрана c историческими данными технологических процессов (трендов). Или хранилище данных переполняется так быстро, что инженеры по обслуживанию только тем и заняты, что приобретают и заполняют новые внешние носители для копирования архивных данных. Плюс ко всему, такого рода "танцы с бубном" не добавляют надежности работы системы в целом, не только её "архивной" части. Всё это в совокупности делает этот сегмент производственного процесса слабым звеном в цепочке получения данных для оперативной аналитики и принятия управленческих решений на основе этих данных. Решением этой задачи стал российский программный продукт – "АВАДС Сервер архивирования" – софт для высокоскоростных и высоконадежных систем хранения данных реального времени.
Разработчиками "АВАДС СОФТ" (входит в Группу компаний "ИнСАТ") был проведен глубокий анализ требований к сбору, хранению и использованию технологических данных в оперативном контуре управления производственными процессами современных АСУ. Ключевыми критериями для оценки эффективности разрабатываемого решения стали высокие показатели по надежности, скорости записи и доступа к данным, а также большая глубина их хранения.
Технология SSDS включает в себя три основных составляющих:
SSDS обеспечивает высочайшую скорость записи и извлечения данных (несколько миллионов записей в секунду). Кроме того, технология SSDS позволяет очень быстро восстановить целостность базы при частичном повреждении носителя или индекса.
Сервер архивирования – это клиент-серверное кроссплатформенное приложение, которое включает в себя Сервер баз данных и Клиент администрирования. Сервер обслуживает запросы клиентов, сохраняет полученные данные, предоставляет их по запросу, выполняет бекапирование и математическую обработку. Клиент администрирования предназначен для настройки сервера, контроля за его работой и для просмотра сохраненных данных в табличном виде и в виде трендов. АВАДС Сервер архивирования не имеет ограничений по числу баз и клиентов кроме лицензионных, а также накладываемых возможностями вычислительных средств, на которых он установлен.
Интерфейс АВАДС Сервер архивирования. Отображение групповых трендов
Сервер архивирования может сохранять следующие классы данных:
Атомарные данные – данные любых типов, размер которых не превышает 8 байт. К таким относятся, например: bool, int, long, dlong, float, dfloat, ...;
Данные типа blob – данные произвольного размера. Это могут быть, например, структуры, массивы, тексты, изображения и пр. Назначение и структуру записанного в blob массива байтов определяет приложение, которое его записывает.
Механизмы хранения и доступа к данным обоих типов одинаковые. Отличие состоит в логике их обработки. Такой унифицированный подход позволяет обеспечить одинаково высокую скорость сохранения и доступа к данным независимо от их типа.
Сервер архивирования имеет три механизма взаимодействия с клиентами:
API
JSON
OPC UA
Протокол AVADS TCP, который обеспечивает высокоскоростные методы передачи и доступа к данным, а также методы управления сервером, реализованные в рамках TCP/IP стека
Протокол AVADS WEB – это WEB-API, реализованное через WEB-soсket. Он проще в реализации, но медленнее в работе. Его не следует использовать, если требуется максимальное быстродействие.
Для взаимодействия по протоколу OPC UA разработана специальная программа – OPC-DB шлюз. Шлюз транслирует запросы протокола OPC UA в AVADS TCP
Сервер архивирования может взаимодействовать с клиентами как в рамках одного компьютера, так и по сети. Число подключенных клиентов ограничивается лицензией.
Сервер архивирования обеспечивает непрерывное сохранение данных, даже при исчерпании свободного пространства на диске. Это достигается за счет функции зацикливания.
Глубина хранения может устанавливаться для базы целиком, для группы тегов или индивидуально для каждого тега. Для эффективного использования ёмкости хранилища рекомендуется использовать индивидуальную настройку наиболее значимых тегов или группы тегов. Для них можно будет установить более высокое значение по ограничению объёма хранимых данных. При достижении заданного ограничения все новые записи будут записываться поверх самых старых.
Сервер архивирования спроектирован так, что зацикливание архива слабо влияет на скорость записи и выборки данных.
Тестирование проводилось на различном оборудовании: одноплатный микрокомпьютер, ноутбук, стационарный компьютер средней производительности, современный стационарный компьютер повышенной производительности. На нём запускался АВАДС Сервер архивирования, а на другом, удаленном компьютере включался имитатор значений тегов, который 10 раз в секунду по TCP/IP передавал серверу различные значения тегов (от 30000 до 100000). База, в которую записывались данные, работала в режиме зацикливания (после заполнения всего объёма носителя новые данные записывались поверх старых). Результаты тестов приведены в таблице ниже.
Выводы из результатов очевидны: АВАДС Сервер архивирования может быть запущен даже на самом скромном по характеристикам «железе» и показывать хорошую производительность. Следует также отметить небольшое потребление оперативной памяти и низкие значения загрузки процессора. На современном оборудовании скорость записи возрастает до 2.5 миллионов в секунду, что с большим запасом обеспечит практически любую потребность АСУТП.
При испытаниях на производительность чтения Серверу архивирования посылались запросы на выборку для 100 случайно выбранных тегов по 10 000 записей. На диаграмме ниже результаты теста скорости выборки.
Скорость считывания данных из Сервера архивирования ограничена преимущественно типом носителя. Скорость доступа старого HDD (~12 мс) оказывает существенное влияние на скорость выборки. С уменьшением этого значения скорость значительно возрастает, а для кеша практически отсутствует.
Сервер архивирования позволяет сохранять в файл бекапа значения произвольного набора параметров за заданный интервал времени. Затем данные из бекапа можно восстановить
в ту же или другую базу данных. В частном случае можно все теги сохранять раз в месяц на сменный носитель. Это обеспечит защиту от потери данных.
Возможность сохранить бекап позволяет вести аналитику на отдельном компьютере, не нагружая дополнительными запросами сервер, обеспечивающий сохранение данных. Сервер архивирования может восстанавливать бекап одновременно с записью новых данных в базу. Причем процесс восстановления почти не влияет на производительность сервера.
Самая популярная российская SCADA-система MasterSCADA 4D позволяет провести настройку и архивацию в АВАДС Сервер архивирования. Такое решение очень привлекательно особенно для крупных проектов, где генерируется большое число тегов. Отсутствие деградации производительности Сервера архивирования при работе с большими базами данных позволяет эффективно работать без «тормозов» и зависаний, характерных для других типов баз (SQLite или PostgreSQL) при достижении ими критических размеров. Почти мгновенная отрисовка трендов – групповых, индивидуальных или в виде таблиц – за продолжительный период времени выгодно отличает АВАДС Сервер архивирования.
Реестр российского ПО
С первого и до последнего байта программа является российским программным продуктом, что подтверждено её внесением в реестр Минкомсвязи (класс «Средства управления базами данных»).
Подробнее познакомиться с программным продуктом АВАДС Сервер архивирования, а также загрузить его демо-версию можно на сайте avads.ru