Встроенная база данных ClickHouse

Начиная с версии 4.3, в Staffcop Enterprise появилась возможность включения базы данных Clickhouse.

Включение Clickhouse позволяет создать гибридный режим работы Staffcop Enterprise: часто используемые данные хранятся в Clickhouse, остальные данные - в Postgresql.

На практике этот гибридный режим позволяет повысить производительность даже на базах данных с сотнями миллионов записей. На пилотном проекте скорость работы с реальными данными увеличилась до 50 раз.

Дополнительно для работы Clickhouse требуется:

  • место на жестком диске - порядка 5-10% от размера базы данных Postgresql;

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

Включение базы данных Clickhouse

По умолчанию Staffcop Enterprise работает с базой данных Postgresql. Для включения Clickhouse и работы в гибридном режиме, выполните команду:

sudo staffcop clickhouse-install

Примечание

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

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

Скрипт установки скачает Clickhouse и установит в систему. После установки будет запущен процесс миграции необходимых данных из Postgresql в Clickhouse.

После установки Clickhouse и запуска Staffcop Enterprise в гибридном режиме, данные в конструкторе и часть событий будут появляться с задержкой в 5-10 минут от реального времени. При этом общее быстродействие системы повысится. Особенно это будет заметно, если сервер Staffcop расположен на HDD-дисках.

Процесс миграции на большой базе данных может занять некоторое время. Чтобы проследить за прогрессом миграции, откройте раздел «Администрирование - Статус сервера». На этой странице будет отображаться название политики и количество событий, которые ещё не были обработаны этой политикой.

Обработка политик по умолчанию запускается раз в 5 минут. Страница автоматически обновляется, как только количество событий, которые должны быть мигрированы в Clickhouse, приблизится к нулю. Для работы с новой базой данных можно использовать веб-интерфейс.

После завершения миграции появится дополнительное меню переключения режима работы базы данных в веб-интерфейсе:

../_images/clickhouse_1.png

Также в Меню - О программе можно заметить, что текущая база данных сменилась с Postgresql на Clickhouse.

../_images/clickhouse_2.png

Примечание

На больших базах данных (от 10 ГБ) процесс миграции в гибридный режим работы может занимать до нескольких часов объективного времени. В ходе миграции в веб-интерфейсе администратора могут не отображаться события и отчёты.

Выделение большего объема памяти для Clickhouse

Для выделения дополнителдьного объёма памяти базе данных откройте файл /etc/clickhouse-server/users.xml и в строке

<max_memory_usage>10000000000</max_memory_usage>

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

После увеличения размера базы данных перезагрузите сервисы staffcop:

sudo service clickhouse-server restart
sudo staffcop restart

Отключение базы Clickhouse

Чтобы отключить гибридный режим работы базы данных Staffcop Enterprise, остановите службу Cliskhouse:

sudo service clickhouse-server stop && sudo service staffcop restart

Чтобы полностью удалить базу данных из системы, удалите пакет Clickhouse:

sudo service clickhouse-server stop && sudo apt-get -y purge clickhouse-server-common && sudo service staffcop restart

При отстутствии связи с базой данных Clickhouse, Staffcop Enterprise будет работать с Postgresql.

Оценка занимаемых ресурсов базой данных Clickhouse

Чтобы определить, сколько места занято базой даных, выполните запрос:

sudo du -sm /var/lib/clickhouse/

Выданная цифра будет означать размер базы данных Clickhouse в мегабайтах.

Чтобы определить, сколько новая база данных занимает в оперативной памяти, выполните команду:

sudo ps -aux | grep -i clickhouse-server | awk '{print $5}'

Расширенные команды для управления Clickhouse в Staffcop