Работа с базами данных
8 800 555-89-02
Войти
Документация
CTRL+K
Standalone2409
SaaS

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

В этой статье

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

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

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

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

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

  • "periodical_backup_enabled":true/false — значение, которое определяет, делается ли периодический бэкап или непериодический
  • "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-запроса:
{
    clickhouse {
        extract_data(storage_guid:"<storage_guid>",sql_script: "select id, `time`,  employee_account_id, time_offset, program, version, executable_path, `type`,   input_type, main_window, tab, url, `domain`, url_path, file_path, file_name,  toJSONString(location), toJSONString(location_name), toJSONString  (location_type), element_name, element_ctrl, element_hotkey_name, toJSONString  (parameters_name), toJSONString(parameters_value), toJSONString (parameters_type), cpu_loading, memory_loading, computer_name, agent_version   from `main`.monitoring_activity where toWeek(time) = 8 and toYear(time)=2024")
    }
}

Где:

  • storage_guid — это идентификатор хранилища подключений
  • 8 — это неделя в году, а 2024 – год
  • если необходимо бэкапирование данных с разделением по месяцам, то используйте второй вариант GraphiQL-запроса:
{
    clickhouse {
        extract_data(storage_guid:"<storage_guid>",sql_script: "select id, `time`, employee_account_id, time_offset, program, version, executable_path, `type`, input_type, main_window, tab, url, `domain`, url_path, file_path, file_name, toJSONString(location), toJSONString(location_name), toJSONString(location_type), element_name, element_ctrl, element_hotkey_name, toJSONString(parameters_name), toJSONString(parameters_value), toJSONString(parameters_type), cpu_loading, memory_loading, computer_name, agent_version from `main`.monitoring_activity where toMonth(time) = 1 and toYear(time) = 2024")
    }
}

Где:

  • storage_guid — это идентификатор хранилища подключений
  • 1 — это месяц в году, т.е. январь, а 2024 — год

После того как выбран нужный вариант 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, чтобы сайт был лучше для вас.