Настройка внешних БД для ADB Control
В production-средах рекомендуется использовать внешние базы данных PostgreSQL и ClickHouse для хранения данных ADB Control (см. Query DB и Metrics DB в статье Обзор Arenadata DB Control) по следующим причинам:
-
У вас будет возможность настроить внешние БД на хостах с ресурсами, необходимыми для обеспечения высокой производительности, а также предусмотреть отказоустойчивость (High Availability, HA).
-
Процесс восстановления ADB Control после сбоев будет проходить значительно проще и состоять по большей части из шагов по настройке сервисов.
Ниже приведены шаги, необходимые для настройки внешних БД начиная с версии ADB Control 4.7.5.
PostgreSQL
-
Выполните следующие запросы на стороне PostgreSQL. Запросы следует запускать под пользователем с правами superuser:
CREATE ROLE <user_name> LOGIN PASSWORD '<user_password>'; ALTER ROLE <user_name> SET search_path TO public, adcc; CREATE DATABASE <database_name> WITH owner <user_name>;
-
Подключитесь к созданной базе данных
<database_name>
под суперпользователем и выполните:CREATE SCHEMA adcc; ALTER SCHEMA adcc OWNER TO <user_name>; CREATE EXTENSION IF NOT EXISTS pgcrypto WITH schema public; CREATE EXTENSION IF NOT EXISTS btree_gin WITH schema public; CREATE EXTENSION IF NOT EXISTS pg_trgm WITH schema public; GRANT SELECT ON ALL TABLES IN SCHEMA pg_catalog TO <user_name>; CREATE OPERATOR adcc.^| (PROCEDURE = jsonb_exists_any, LEFTARG = jsonb, RIGHTARG = _text, RESTRICT = contsel, JOIN = contjoinsel); ALTER OPERATOR adcc.^|(jsonb, text[]) OWNER TO <user_name>; CREATE OPERATOR CLASS adcc.jsonb_ops_custom FOR TYPE jsonb USING gin AS OPERATOR 7 pg_catalog.@>(jsonb, jsonb), OPERATOR 10 adcc.^| (jsonb, _text), FUNCTION 1 gin_compare_jsonb(text, text), FUNCTION 2 gin_extract_jsonb(jsonb, internal, internal), FUNCTION 3 gin_extract_jsonb_query(jsonb, internal, smallint, internal, internal, internal, internal), FUNCTION 4 gin_consistent_jsonb(internal, smallint, jsonb, integer, internal, internal, internal, internal), FUNCTION 6 gin_triconsistent_jsonb(internal, smallint, jsonb, integer, internal, internal, internal); ALTER OPERATOR CLASS adcc.jsonb_ops_custom USING GIN OWNER TO <user_name>;
где
<user_name>
— имя созданного на предыдущем шаге пользователя. -
Опционально можно запустить следующий запрос для отключения синхронной записи в WAL-файлы с целью увеличения производительности:
ALTER DATABASE <database_name> SET synchronous_commit = OFF;
где
<database_name>
— имя созданной выше БД. -
Обеспечьте возможность доступа хоста с ADB Control к внешней базе данных PostgreSQL. Для этого на стороне сервера PostgreSQL требуется добавить запись следующего вида в файл pg_hba.conf.
host <database_name> <user_name> <adbc_address> trust
где:
-
<database_name>
— имя созданной выше БД. -
<user_name>
— имя созданного выше пользователя. -
<adbc_address>
— IP-адрес ADB Control с подсетью.
hostssl all all 0.0.0.0/0 md5
Дополнительную информацию о предварительной настройке PostgreSQL для использования SSL можно получить в статье Шифрование SSL.
-
На странице конфигурирования сервиса ADB Control переведите в активное положение переключатель External database parameters и заполните параметры в открывшемся списке. Назначение параметров описано в разделе Конфигурационные параметры → ADB Control → External database parameters.
Параметры для подключения к внешней БД PostgreSQL -
После заполнения параметров нажмите Save для сохранения конфигурации ADB Control.
-
Выполните установку сервиса ADB Control с помощью сервисного действия Install либо примените действие Reconfigure & Restart к ранее установленному сервису ADB Control.
ClickHouse
ВАЖНО
|
-
Выполните следующие запросы для создания пользователя с необходимыми правами на стороне ClickHouse:
CREATE USER <user_name> NOT IDENTIFIED; GRANT SELECT, INSERT, ALTER, CREATE, DROP, TRUNCATE ON *.* TO <user_name>
-
На странице конфигурирования сервиса ADB Control переведите в активное положение переключатель External ADQM parameters и заполните параметры в открывшемся списке. Назначение параметров описано в разделе Конфигурационные параметры → ADB Control → External ADQM parameters.
Параметры для подключения к внешней БД ClickHouse -
После заполнения параметров нажмите Save для сохранения конфигурации ADB Control.
-
Выполните установку сервиса ADB Control с помощью сервисного действия Install либо примените действие Reconfigure & Restart к ранее установленному сервису ADB Control.