База данных Аналитического портала
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
Примечание: Пользователь OS, под чьей учетной записи производится запуск приложения портала, должен иметь право на создание, изменение, удаление файлов в каталоге размещения исполняемого файла портала и на запуск исполняемого файла портала.
Если всё настроено верно, в файле лога modusbi.log появится соответствующее сообщение:
Созданы метаданные в '<БД PostgreSQL>', необходимо перезапустить сервер.
где,
- <БД PostgreSQL> - Имя созданной вами базы данных.
- сервер - (который необходимо перезапустить) это сам Аналитический портал, исполняющий роль сервера в клиент-серверной архитектуре.
Запуск с ключом “-init” выполняется только при первоначальной настройке. Последующие запуски производятся без использования данного ключа.