Сервер архивирования

Компактная и высокоскоростная база данных временных рядов (TSDB) для архивирования в системах реального времени

Функция архивирования

Эта функция является одной из главных в системах управления и учёта. К ней предъявляются очень жёсткие требования. По надёжности хранения данных, скорости сохранения и доступа к данным, глубине хранения данных.

Сервер архивирования позволяет вести архивы технологических и коммерческих показателей в АСУТП, диспетчеризации объектов промышленности и ЖКХ, системах коммерческого и технического учёта.

Преимущества

Высочайшая производительность

На обычном компьютере скорость сохранения до 2 млн. записей в секунду и скорость выборки до 3 млн. записей в секунду (параллельно с записью).

Инновационность

Сервер архивирования построен на базе уникальной инновационной технологии SSDS и не имеет аналогов по производительности для своих задач.

Широчайшая кросс-платформенность

Работает в операционных системах Windows, Linux, Android, IOS, Darwin, Эльбрус, NetBSD, FreeBSD, OpenBSD, Plan9, AIX, Dragonfly, Illumos, Solaris на различных аппаратных платформах.

Высочайшая надежность

Сервер архивирования позволяет создавать высоконадежные системы хранения данных благодаря встроенным механизмам резервирования серверов и носителей.

Мощная система бэкапов

Можно сохранить в файл бэкапа историю изменения произвольного набора тегов за заданный интервал времени и восстановить эти данные в любую базу на том же или другом компьютере.

Автоматическое зацикливание

База может зацикливаться либо по времени хранения данных, либо по доступному дисковому пространству. При исчерпании свободного места на диске производится автоматическое зацикливание по второму типу. Для каждого тега можно задать индивидуальную глубину хранения.

Инновационность

Сервер Архивирования зарегистрирован в реестре российского программного обеспечения Минкомсвязи России под номером № 17156 и отнесён к классу 02.07 (средства управления базами данных).

Разработан на базе инновационной технологии SSDS (Solid Segment Data Storage). Эта технология обеспечивает высочайшую скорость записи и извлечения данных.

  • оригинальная организация данных
  • уникальная и очень компактная система индексации
  • мощная система кеширования

Эти решения позволяют не только получать мгновенный доступ к нужным данным, но и быстро восстановить целостность базы при частичном повреждении носителя или индекса. Технология SSDS является продуктом разработки компании АВАДС СОФТ и полностью принадлежит ей (Патент РФ № 2793082 «Способ хранения и извлечения данных»).

Поддерживаемые платформы

Сервер архивирования — кроссплатформенный продукт. Его код не содержит решений, зависящих от ОС и аппаратной платформы.

Работает на большинстве современных платформ и под управлением почти всех операционных систем.

Для облегчения интеграции с другими программными продуктами имеются примеры исходного кода драйверов. Примеры приведены для следующих языков программирования: C#, Go, JavaScript, Python. Скачать примеры исходных текстов драйверов.

Сервер Архивирования /products/tsdb/tsdb.svg

Платформы и ОС

Windows Windows

На платформах X86, AMD64, ARM, ARM64

Linux Linux

На платформах X86, AMD64, ARM, ARM64, PPC64, PPC64le, MIPS, MIPCle, MIPS64, RISCV64, S390X

Android Android

На платформах X86, ARM, ARM64

Darwin Darwin

Компьютеров Apple на платформах Intel, ARM64

IOS IOS

Мобильных устройств Apple на платформе ARM64

NetBSD NetBSD

На платформах X86, AMD64, ARM

FreeBSD FreeBSD

На платформах X86, AMD64, ARM, ARM64

Plan9 Plan9

На платформах X86, AMD64, ARM

OpenBSD OpenBSD

На платформах X86, AMD64, ARM, ARM64

AIX AIX

На платформе PPC64

Dragonfly Dragonfly

На платформе AMD64

Illumos Illumos

На платформе AMD64

Solaris Solaris

На платформе AMD64

Эльбрус Эльбрус

На платформе VLIW (2С+, 4С, 8С, 8СВ, 2С3, 16С)

Архитектура

Сервер архивирования — включает в себя Сервер БД (сервер баз данных) и Клиент администрирования.

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

Сервер БД Обслуживает запросы клиентов, сохраняет полученные данные и предоставляет их по запросу, выполняет бекапирование и математическую обработку.
Клиент администрирования Обслуживает запросы клиентов, сохраняет полученные данные и предоставляет их по запросу, выполняет бекапирование и математическую обработку.

Типы хранимых данных

Атомарные данные


Данные любых типов, размер которых не превышает 8 байт. К таким относятся, например: bool, int, long, dlong, float, dfloat...


Данные типа blob


Данные произвольного размера. Это могут быть, например, структуры, массивы, тексты, изображения и пр. Назначение и структуру записанного в blob массива байтов определяет приложение, которое его записывает.

Механизмы хранения и доступа к данным обоих типов одинаковые. Отличие состоит в логике их обработки. Такой унифицированный подход позволяет обеспечить одинаково высокую скорость сохранения и доступа к данным независимо от их типа.

Типы хранимых данных

Взаимодействие с внешними приложениями

API


Обеспечивает высокоскоростные методы передачи и доступа к данным, а также методы управления сервером, реализованные в рамках TCP/IP стека.


OPC UA


Для взаимодействия Сервера архивирования с клиентами по протоколу OPC UA разработана специальная программа – OPC–DB шлюз. Она взаимодействует по протоколу OPC UA с клиентами и транслирует запросы этого протокола в протокол AVADS TCP.


WEB SOCKET


Это WEB-API, реализованное через WEB-soсket. Используется для взаимодействия сервера с Клиентом администрирования. JSON проще в реализации, но медленнее в работе. Поэтому его не следует использовать если требуется максимальное быстродействие.

Сервер архивирования может взаимодействовать с клиентами как в рамках одного компьютера так и по сети используя одновременно оба механизма. Число клиентов, которые могут одновременно взаимодействовать с Сервером Архивирования ограничивается лицензией.

Взаимодействие с внешними приложениями

Зацикливание

Сервер Архивирования обеспечивает непрерывное сохранение данных, даже при исчерпании свободного пространства на диске. Это достигается за счёт функции зацикливания.

Зацикливание баз данных может выполняться в нескольких режимах:

  • По заданной глубине хранения данных
  • По заданному размеру базы
  • По исчерпанию свободного места на диске

Глубина хранения может устанавливаться для базы целиком, для группы тегов или индивидуально для каждого тега. Приоритетной будет индивидуальная настройка тега.

При достижении заданного ограничения все новые записи будут записываться поверх самых старых.

Зацикливание архива слабо влияет на скорость Сервера архивирования по записи и выборке данных.

Зацикливание баз данных

Создание и восстановление бэкапов

Сервер архивирования позволяет сохранять в файл бэкапа значения произвольного набора параметров за заданный интервал времени. Затем данные из бэкапа можно восстановить в ту же или другую базу данных.

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

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

Сервер архивирования может восстанавливать бэкап одновременно с записью новых данных в базу. Причем процесс восстановления почти не влияет на производительность сервера.

Создание и восстановление бэкапов

Встроенная математическая обработка

Сервер архивирования может выполнять математическую обработку сохраненных данных. Для этого в API предусмотрены специальные команды.

Запросы на обработку позволяют выполнять следующие действия:

Прореживание

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

Вычисление за заданный интервал

  • Минимум / Максимум
  • Среднее значение
  • Интеграл
  • Наработка / простой в часах и процентах
Встроенная математическая обработка

Резервирование

Сервер архивирования позволяет создавать высоконадежные резервированные системы непрерывного хранения данных. Это важно для ответственных систем и коммерческого учета.

Сервер архивирования реализует горячее резервирование:

Серверов

Два и более Серверов Архивирования могут работать на разных компьютерах в горячем резерве. Один имеет статус Мастер, остальные — Резерв. С клиентами взаимодействует Мастер. Он пересылает получаемые данные Резервным серверам, которые синхронизируют свои базы с ним. При отказе Мастера один из Резервных серверов становится Мастером.

Носителей данных (дисков)

Сервер архивирования ведёт две одинаковые базы на двух разных дисках. Он контролирует идентичность баз и синхронизирует их. Это позволяет при обеспечении горячей замены дисков не останавливая работы сервера заменить вышедший из строя диск.

Резервирование

Разграничение прав пользователя

Сервер архивирования имеет систему разграничения прав пользователей. Данные о пользователях хранятся в зашифрованном виде.

Для каждого пользователя можно задать:

  • Логин
  • Пароль
  • Права
    • на удаление баз
    • на создание и редактирование тегов
    • на удаление тегов
    • на создание новых пользователей
    • на удаление пользователей
    • на получение данных через URL с помощью токена
    • на изменение данных через URL с помощью токена
    • на создание и настройку баз
Разграничение прав пользователя

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

Сервер архивирования позволяет создавать высоконадежные резервированные системы непрерывного хранения данных. Эта особенность очень важна при автоматизации ответственных и опасных технологических объектов, а также для систем хранения коммерческой информации.


На компьютере запущен Сервер архивирования и имитатор значений тегов. Второй имитатор – на удаленном компьютере. Оба имитатора 10 раз в секунду по TCP/IP передают серверу значения 80 000 тегов с каждого. Данные каждого имитатора сохраняются в отдельную базу. Обе базы работают в режиме зацикливания.

Таким образом по каждой базе сохраняется 800 000 записей в секунду.

Суммарно Сервер архивирования сохраняет 1 600 000 записей в секунду.

Все теги имеют формат DFLOAT (8 байт), время изменения фиксируется с точностью до 100 ns (8 байт).

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

Материнская плата ASUSTeK H97-PLUS
Процессор Core i7-4790 с частотой 3.60GHz
Память 16 Гб DDR3-1600
Диск HDD WDC WD1003FZEX-00MK2A0
Операционная система Linux Mint 20.2
В процессе работы Сервер архивирования потребляет оперативной памяти 1,3 Гб, при максимальной загрузке процессора 11%.

На ноутбуке запущен Сервер архивирования и имитатор значений тегов, который 10 раз в секунду по TCP/IP передают серверу значения 100 000 тегов с каждого. База, в которую пишутся данные, работает в режиме зацикливания.

Суммарно Сервер архивирования сохраняет 1 000 000 записей в секунду.

Все теги имеют формат DFLOAT (8 байт), время изменения фиксируется с точностью до 100 ns (8 байт).

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

Модель ASUS
Материнская плата HUAWEI HLYL-WXX9-PCB
Процессор AMD Ryzen 5 Mobile с частотой 4.60GHz
Память 16 Гб DDR4-3200
Диск Внешний HDD, подключенный через USB 3.0
Операционная система Windows 11
В процессе работы Сервер архивирования потребляет оперативной памяти 1,3 Гб, при максимальной загрузке процессора 11%.

На встраиваемом безвентиляторном компьютере запущен Сервер архивирования. На удаленном компьютере запущен имитатор значений тегов, который 10 раз в секунду по TCP/IP передают серверу значения 30 000 тегов. База, в которую пишутся данные, работает в режиме зацикливания.

Суммарно Сервер архивирования сохраняет 300 000 записей в секунду.

Все теги имеют формат DFLOAT (8 байт), время изменения фиксируется с точностью до 100 ns (8 байт).

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

Материнская плата Raspberry PI 4
Процессор 4 ядра Cortex A-72 с частотой 1,5 ГГц
Память 4 Гб LPDDR4-3200
Диск SSD, подключенный через USB 2.0
Операционная система Linux Ubuntu
В процессе работы Сервер архивирования потребляет оперативной памяти 1,3 Гб, при максимальной загрузке процессора 11%.

На компьютере запущен Сервер архивирования и имитатор значений тегов, который 10 раз в секунду по TCP/IP передают серверу значения 250 000 тегов. База работает в режиме зацикливания.

Суммарно Сервер архивирования сохраняет 2 500 000 записей в секунду.

Все теги имеют формат DFLOAT (8 байт), время изменения фиксируется с точностью до 100 ns (8 байт).

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

Материнская плата ASUSTeK PRIME B460M-K
Процессор Core i9-10900K с частотой 3.70 GHz
Память 64 Гб DDR4-3200
Диск HDD 1 ТБ WDC WD10SPSX-00A6WT0
Операционная система Linux Mint 20.2
В процессе работы Сервер архивирования потребляет оперативной памяти 1,3 Гб, при максимальной загрузке процессора 11%.

Скорость чтения сильно зависит от накопителя.

При испытаниях на производительность чтения Серверу архивирования посылались запросы на выборку для 100 случайно выбранных тегов по 10 000 записей.

Современный HDD (1,5 ms время доступа) позволяет получить 350 000 записей в секунду.

Старый HDD (12 ms время доступа) позволяет получить 100 000 записей в секунду.

SSD (NVME 1.3.0 - быстрый диск на PCIe) позволяет выбирать 2 500 000 записей в секунду.

Выборка из кэша 5 000 000 записей в секунду.


Многоядерность

По умолчанию Сервер архивирования запускается на 1 ядре.

Для использования нескольких ядер предназначен специальный параметр в настройках сервера. В нем указывается число ядер, которые могут использоваться Сервером Архивирования.

Если несколько баз и несколько клиентов


Использование многоядерного режима эффективно только при ведении нескольких баз и взаимодействии с несколькими клиентами.

Если только одна база и один клиент


При работе только с одной базой и взаимодействии только с одним клиентом многоядерность снижает производительность сервера.

Многоядерность

Лицензирование

Сервер архивирования лицензируется по количеству тегов и по числу подключаемых клиентов. Для лицензионной защиты сервера используется программный ключ.

Имеется бесплатная версия на 16 тегов с поддержкой взаимодействия с одним клиентом.

Для полноценного тестирования на сайте можно скачать ДЕМО-версию Сервер архивирования. У нее нет ограничений на число тегов и клиентов, но присутствует пробный период 2 месяца с момента установки.

Лицензирование

Свяжитесь с нами

Оставьте заявку на обратную связь, чтобы наши менеджеры проконсультировали вас по любым вопросам касаемо продукции

Оставить заявку