Top.Mail.Ru
Работа с базами данных
8 800 555-89-02
Документация
CTRL+K
Standalone2306
EOL
SaaS

Работа с базами данныхEOL

В этой статье

Резервное копирование БД

Резервное копирование встроенной файловой базы данных

Cервер приложения Proceset раз в сутки в 00:00:00 выполняет резервное копирование (бэкап встроенной файловой базы данных). Резервное копирование по умолчанию осуществляется в системную папку: C:/ProgramData/Infomaximum/backup. Каталог системной папки может быть изменен.

Параметры встроенной файловой базы данных настраиваются в файле: com.infomaximum.subsystem.database. json.

Путь к файлу по умолчанию: C:/ProgramData/Infomaximum/config/com.infomaximum.subsystem.database.json., где:

  • periodical_backup_enabled - boolean – значение, которое определяет, делается ли периодический бэкап или непериодический;
  • database_path – расположение базы данных (относительно папки ProgramData);
  • backup_path – расположение бэкапа базы данных (относительно папки ProgramData).

Резервное копирование ClickHouse (докер-контейнера)

Резервное копирование базы данных ClickHouse не предусмотрено штатными средствами системы. Резервное копирование данных, которые хранятся в ClickHouse, возможно на уровне докер-контейнера. Копируется весь volume, в котором расположена БД ClickHouse.

Важно: перед началом созданием бэкапа необходимо убедиться в наличии образа ubuntu: 20.04 в системе.

При наличии интернета его можно загрузить, выполнив команду:

# docker pull ubuntu:20.04

Процедура резервного копирования:

  1. Создайте новую папку для сохранения бэкапа:
    mkdir /tmp/clickhouse-backup
    
  2. Удалите сервис:
    docker service rm infomaximum-clickhouse
    
  3. Запустите новый контейнер с прокидыванием volume:
    docker run -it --rm --mount source=infomaximum-clickhouse,target=/clickhouse -v /tmp:/target ubuntu:20.04 bash
    
  4. Внутри контейнера выполните:
    tar -czvf /target/infomaximum-clickhouse.tar.gz /clickhouse
    
  5. Выйдите из контейнера:
    exit
    
  6. Повторно создайте сервис. Предварительно скачайте необходимый образ (ссылка предоставляется дополнительно). Выполните команду:
    docker load -i infomaximum-clickhouse-(название файла)tar.gz
    
  7. Созданный бекап расположен:
    • /tmp/infomaximum-clickhouse.tar.gz.

Резервное копирование данных активности

Для копирования данных активности перейдите в инструмент GraphiQL и выполните следующую процедуру:

  • Если необходимо бэкапирование данных с разделением по неделям, то используйте следующий вариант GraphiQL-запроса:
query{
clickhouse{
extract_data(sql_script:"select time, time_ms, employee_id,
computer_account_id, time_offset, program, version, type,
toString(ui_hierarchy_name) as ui_hierarchy_name, toString(ui_hierarchy_ctrl)
as ui_hierarchy_ctrl, toString(ui_hierarchy_cls) as ui_hierarchy_cls,
toString(form_data_name) as form_data_name, toString(form_data_value) as
form_data_value, im_row_number from
`com.infomaximum.subsystem.monitoring`.activity where toWeek(time) = 18 and
toYear(time)=2020")
}}

Где 18 – это неделя в году, а 2020 – год.

  • Если необходимо бэкапирование данных с разделением по месяцам, то используйте второй вариант GraphiQL-запроса:
query{
clickhouse{
extract_data(sql_script:"select time, time_ms, employee_id,
computer_account_id, time_offset, program, version, type,
toString(ui_hierarchy_name) as ui_hierarchy_name, toString(ui_hierarchy_ctrl)
as ui_hierarchy_ctrl, toString(ui_hierarchy_cls) as ui_hierarchy_cls,
toString(form_data_name) as form_data_name, toString(form_data_value) as
form_data_value, im_row_number from
`com.infomaximum.subsystem.monitoring`.activity where toMonth(time) = 1 and
toYear(time) = 2020")
}}

Где 1 – это месяц в году, т.е. январь, а 2020 – год.

После того как выбран нужный вариант GraphiQL-запроса для резервирования данных и подставлены нужные параметры (неделя/месяц и год), измените значения в браузерной строке _…/graphiql?query_ на _……/graphql?query…_, т.е. уберите букву «i» из слова «graphiql». Нажмите Enter для выполнения запроса и формирования архива с активностью на сервере. После обработки этого запроса сервером скачается архив с файлом активности за указанный период.

Контроль целостности баз данных

Контроль целостности встроенной файловой базы данных по контрольным суммам осуществляется при каждой загрузке системы. В процессе работы контроль целостности БД осуществляться не может. В состав системы встроены средства отладки, которые невозможно удалить, но можно контролировать их активацию. Для этого необходимо отслеживать все изменения в службе «Infomaximum», в частности команду запуска.

Контроль целостности БД ClickHouse входит в поставку.

Сохранение копии обезличенной базы данных

Для сохранения обезличенной БД системы необходимо, чтобы у пользователя была назначена роль доступа с включенной привилегией «Общие настройки» с операцией W (изменение).

Чтобы сохранить обезличенную БД, зайдите через GraphQL при выполнении следующего запроса и укажите путь (директорию) для запуска процесса, куда сохранится обезличенная БД.

mutation{
database{
copy_depersonalized_database(path:»c:/database»)
}
}

Где «c:/database» – путь сохранения обезличенной БД.

Для выполнения запроса GraphQL у пользователя должна быть назначена роль доступа с включенной привилегией «Инструмент GraphQL» с операцией E.

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

Была ли статья полезна?

Да
Нет
Предыдущая
Установка модуля автоматизации на другой сервер
8 (800) 555-89-028 (495) 150-31-45team@infomaximum.com
Для бизнеса
© 20102024. ООО «Инфомаксимум»
Мы используем файлы cookies, чтобы сайт был лучше для вас.