8 800 555-89-02
Войти
Infomaximum/Документация
12.2022

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

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

Резервное копирование RocksDB

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

Параметры базы данных RocksDB настраиваются в файле: 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 для выполнения запроса и формирования архива с активностью на сервере. После обработки этого запроса сервером скачается архив с файлом активности за указанный период.

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

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

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

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

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

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

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

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

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

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

Предыдущая
Описание структуры хранения данных в ClickHouse
Следующая
Работа с системой
8 (800) 555-89-028 (495) 150-31-45team@infomaximum.com
Для бизнесаПродуктРешенияКейсыТехнологии
© 2010–2023. ООО «Инфомаксимум»Политика обработки персональных данных
Мы используем файлы cookies, чтобы сайт был лучше для вас.