База данных Аналитического портала
4 минутное чтение
Совокупность объектов, используемых Аналитическим порталом для хранения служебной информации: структуры команд API, настроек, данных о пользователях, дашбордах и т.д.
Объекты, используемые порталом локализованы в рамках одной базы данных, которая используется порталом постоянно для работы и является его неотъемлемой частью.
Перед использованием Аналитического портала, базу данных необходимо создать. О том как сделать базу данных для Аналитического портала будет описано ниже.
В качестве СУБД, для размещения базы данных Аналитическому порталу требуется PostgreSQL (версии не ниже 10).
Всё дальнейшее описание будет вестись из расчета использования именно этой СУБД.
СУБД PostgreSQL предварительно необходимо установить и настроить.
Примечание: за дистрибутивами СУБД PostgreSQL и инструкциями по установке и настройке перейдите на официальный сайт разработчика:
Если СУБД PostgreSQL устанавливается впервые и будет использоваться без дополнительного ПО – пуллеров соединений (PgBouncer, Pgpool-II и т.д.), то для корректной работы с Аналитическим порталом в файле конфигурации PostgreSQL необходимо правильно сконфигурировать следующий параметр:
max\_connections
— пиковое количество одновременно работающих пользователей (значение рассчитывается в зависимости от мощности сервера, по-умолчанию 100).
Примечание: до версии Аналитического портала 3.0 использовалась встраиваемая СУБД — SQLite.
Инициализация базы данных портала
Для инициализации базы данных Аналитического портала необходимо:
- создать пустую базу данных;
- указать параметры подключения к базе данных в файле настроек;
- выполнить первоначальное заполнение при помощи специальной команды.
Шаг 1. Создание базы данных СУБД
В СУБД необходимо создать базу данных с любой основной схемой (в PostgreSQL по умолчанию — это «public»).
Никаких элементов внутри созданной базы данных дополнительно создавать не требуется.
Примечание: О том, как создать базу данных в СУБД PostgreSQL можно прочесть в официальном руководстве:
Шаг 2. Указание параметров подключения к базе в файле настроек
Для подключения Аналитического портала к базе данных, необходимо в файле настроек Аналитического портала «modusbi.json», в разделе metadata
указать параметры подключения к базе данных:
{
...
"metadata": {
"driver": "postgres",
"datasource": "postgres://<ПОЛЬЗОВАТЕЛЬ_БД>:<ПАРОЛЬ_БД>@<IP-АДРЕС_PG>:<ПОРТ_PG>/<ИМЯ_БД>?application_name=modusbi&sslmode=disable",
"maxopenconns": <максимальное количество одновременно открытых соединений>,
"maxidleconns" : <максимальное количество открытых соединений в пуле>,
"maxlifetime": <максимальное время жизни соединения в пуле>
}
...
}
driver
— Строка — Имя драйвера для подключения к серверу СУБД, всегда «postgres»;datasource
— Строка — Строка, в которой закодированы параметры подключения к базе данных:<ПОЛЬЗОВАТЕЛЬ_БД>
— Строка — Логин пользователя СУБД;<ПАРОЛЬ_БД>
— Строка — Пароль пользователя СУБД;<IP-АДРЕС_PG>
— Строка — IP-адрес сервера СУБД;<ПОРТ_PG>
— Число — Порт используемый сервером СУБД;<ИМЯ_БД>
— Строка — Имя базы данных на сервере СУБД, созданной на предыдущем шаге;
maxopenconns
— Число — Максимальное количество одновременно открытых соединений. Не должно быть больше значения max_connections в настройках СУБД PostgreSQL;maxidleconns
— Число — Максимальное количество открытых (ожидающих) соединений в пуле;maxlifetime
— Число — Максимальное время жизни соединения в пуле. Указывается в секундах.
Пример: Аналитический портал и СУБД PostgreSQL установлены на одном сервере. Сервер СУБД PostgreSQL «слушает» стандартный порт «5432». Для подключения используется учетная запись пользователя СУБД с логином «admin» и паролем «pass». Имя базы данных для портала — «modusbi». Для описываемого случая, раздел «metadata» файла настроек будет следующим:
{
...
"metadata": {
"driver": "postgres",
"datasource": "postgres://admin:pass@localhost:5432/modusbi?application_name=modusbi&sslmode=disable",
"maxopenconns": 100,
"maxidleconns" : 20,
"maxlifetime": 3600
}
...
}
Примечание: Пользователь СУБД, чей логин и пароль указывается в файле настроек портала, должен иметь в подключаемой базе данных права следующих типов: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, USAGE.
Шаг 3. Первоначальное заполнение базы данных
Для первоначального заполнения базы данных необходимо запустить выполнение файла портала в режиме инициализации. Для запуска портала в режиме инициализации используется ключ -init
.
Для Windows:
C:\portal>modusbi.exe -init
Для Linux:
/opt/modusbi# ./modusbi -init
Примечание: Пользователь операционной системы, под чьей учетной записи производится запуск приложения портала, должен иметь право на создание, изменение, удаление файлов в каталоге размещения исполняемого файла портала и на запуск исполняемого файла портала.
Если всё настроено верно, в файле лога «modusbi.log» появится соответствующее сообщение:
«Cозданы метаданные в <БД PostgreSQL>, необходимо перезапустить сервер.»
где
- <БД PostgreSQL> — Имя созданной вами базы данных;
- сервер — (который необходимо перезапустить) — это сам Аналитический портал, исполняющий роль сервера в клиент-серверной архитектуре.
Запуск с ключом -init
выполняется только при первоначальной настройке. Последующие запуски производятся без использования данного ключа.