Simple-Scada forum
Simple-Scada 2 => Ваши вопросы => Тема начата: АО.МХЗ от 06 Февраля 2018, 11:03:41
-
Добрый день.
Подскажите пожалуйста по какому принципу заполняются таблицы в trends_data, trends_day, trends_houre, trends_minute в базе данных. Как старые данные можно очищать и очищать ли их? Что происходит с данными, если удаляется "архивная" переменная?
-
Здравствуйте!
trends_data - это основной слой, в него пишутся все данные в соответствии с настройками архивации переменной. trends_day, trends_hour, trends_minute - это "прореженные" слои - минутный, часовой, суточный. Эти слои нужны для оптимизации и быстрой загрузки трендов при просмотре на клиентах, особенно за большие промежутки времени.
Как старые данные можно очищать и очищать ли их?
Вы можете установить ограничение архива трендов через настройки проекта -> вкладка "Тренды" (https://simple-scada.com/help/manual/index.html?editor-settings.html#set_trends). В этом случае, по истечении установленного времени старые тренды будут удаляться из БД. Такая же настройка доступна и для архива сообщений (https://simple-scada.com/help/manual/index.html?editor-settings.html#set_message). Также, при необходимости можно удалить БД через MySQL Workbench (https://simple-scada.com/help/manual/mysql-workbench.html), кликнув по ее имени ПКМ - появится всплывающее меню, в котором нужно выбрать "Drop Schema". Если удалить БД, то при очередном запуске сервера Simple-Scada, таблицы БД будут снова созданы и в них начнут архивироваться тренды.
Также, через MySQL Workbench имеется возможность производить резервное копирование и восстановление БД - подробнее см. здесь (https://simple-scada.com/help/manual/mysql-backup-db.html).
Что происходит с данными, если удаляется "архивная" переменная?
Данные удаленной архивной переменной останутся в БД.
-
Здравствуйте, уважаемые разработчики Simple-Scada!
В продолжение темы о базе данных хотелось уточнить/предложить следующее:
1) Для сбора статистики по архивируемым переменным пишем программу на Delphi, которая обращается к базе данных MySQL посредствам ADO компонентов. Если я правильно понимаю, идентифицировать переменную в базе данных MySQL можно только по ее ID. Может в базе данных SQL стоит создать дополнительную таблицу, состоящую из двух или трех столбцов (ID переменной, имя переменной в Simple-Scada, описание переменной в Simple-Scada)? Таким образом SQL-клиент смог бы выдать пользователю список переменных с именами и описанием для дальнейшей работы с архивами.
2) Какими способами (кроме экспорта/импорта в Workbench'е) можно быстро копировать базу данных MySQL на другой ПК? Я так понимаю просто скопировать файлы, переместить их в такую же директорию на другом ПК и просмотреть в Workbench'е не получится.
-
Здравствуйте.
Может в базе данных SQL стоит создать дополнительную таблицу, состоящую из двух или трех столбцов (ID переменной, имя переменной в Simple-Scada, описание переменной в Simple-Scada)? Таким образом SQL-клиент смог бы выдать пользователю список переменных с именами и описанием для дальнейшей работы с архивами.
Можем реализовать такую таблицу, нот только после решения более популярных задач.
Какими способами (кроме экспорта/импорта в Workbench'е) можно быстро копировать базу данных MySQL на другой ПК?
InnoDB-таблицы не рекомендуется копировать обычным способом. Нужно создать файл SQL-дампа и "распаковать" его на целевом ПК, что и делает Workbench. В интернете можно найти другие программы для создания дампа.