Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: trends_data, _day, _minute  (Прочитано 4232 раз)

АО.МХЗ

  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
trends_data, _day, _minute
« : 06 Февраля 2018, 11:03:41 »
Добрый день.
Подскажите пожалуйста по какому принципу заполняются таблицы в trends_data, trends_day, trends_houre, trends_minute в базе данных. Как старые данные можно очищать и очищать ли их? Что происходит с данными, если удаляется "архивная" переменная?

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1393
    • Просмотр профиля
Re: trends_data, _day, _minute
« Ответ #1 : 06 Февраля 2018, 21:07:38 »
Здравствуйте!

trends_data - это основной слой, в него пишутся все данные в соответствии с настройками архивации переменной. trends_day, trends_hour, trends_minute - это "прореженные" слои - минутный, часовой, суточный. Эти слои нужны для оптимизации и быстрой загрузки трендов при просмотре на клиентах, особенно за большие промежутки времени.

Цитировать
Как старые данные можно очищать и очищать ли их?
Вы можете установить ограничение архива трендов через настройки проекта -> вкладка "Тренды". В этом случае, по истечении установленного времени старые тренды будут удаляться из БД. Такая же настройка доступна и для архива сообщений. Также, при необходимости можно удалить БД через MySQL Workbench, кликнув по ее имени ПКМ - появится всплывающее меню, в котором нужно выбрать "Drop Schema". Если удалить БД, то при очередном запуске сервера Simple-Scada, таблицы БД будут снова созданы и в них начнут архивироваться тренды.

Также, через MySQL Workbench имеется возможность производить резервное копирование и восстановление БД - подробнее см. здесь.

Цитировать
Что происходит с данными, если удаляется "архивная" переменная?
Данные удаленной архивной переменной останутся в БД.

Genrosol

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: trends_data, _day, _minute
« Ответ #2 : 11 Февраля 2018, 14:32:57 »
Здравствуйте, уважаемые разработчики Simple-Scada!
В продолжение темы о базе данных хотелось уточнить/предложить следующее:
1) Для сбора статистики по архивируемым переменным пишем программу на Delphi, которая обращается к базе данных MySQL посредствам ADO компонентов. Если я правильно понимаю, идентифицировать переменную в базе данных MySQL можно только по ее ID. Может в базе данных SQL стоит создать дополнительную таблицу, состоящую из двух или трех столбцов (ID переменной, имя переменной в Simple-Scada, описание переменной в Simple-Scada)? Таким образом SQL-клиент смог бы выдать пользователю список переменных с именами и описанием для дальнейшей работы с архивами.
2) Какими способами (кроме экспорта/импорта в Workbench'е) можно быстро копировать базу данных MySQL на другой ПК? Я так понимаю просто скопировать файлы, переместить их в такую же директорию на другом ПК и просмотреть в Workbench'е не получится.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3211
    • Просмотр профиля
    • Simple-Scada
Re: trends_data, _day, _minute
« Ответ #3 : 13 Февраля 2018, 09:53:31 »
Здравствуйте.

Цитировать
Может в базе данных SQL стоит создать дополнительную таблицу, состоящую из двух или трех столбцов (ID переменной, имя переменной в Simple-Scada, описание переменной в Simple-Scada)? Таким образом SQL-клиент смог бы выдать пользователю список переменных с именами и описанием для дальнейшей работы с архивами.
Можем реализовать такую таблицу, нот только после решения более популярных задач.

Цитировать
Какими способами (кроме экспорта/импорта в Workbench'е) можно быстро копировать базу данных MySQL на другой ПК?
InnoDB-таблицы не рекомендуется копировать обычным способом. Нужно создать файл SQL-дампа и "распаковать" его на целевом ПК, что и делает Workbench. В интернете можно найти другие программы для создания дампа.