База данных Аналитического портала

 

Совокупность объектов, используемых Аналитическим порталом для хранения служебной информации: структуры команд API, настроек, данных о пользователях, дашбордах и т.д.

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

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

Требования к СУБД

В качестве СУБД для размещения базы данных Аналитическому порталу требуется PostgreSQL (версии не ниже 10).

Все дальнейшее описание будет вестись из расчета использования именно этой СУБД.

СУБД PostgreSQL предварительно необходимо установить и настроить. Инструкция по установке PostgreSQL и DBeaver.

За дистрибутивами СУБД PostgreSQL и инструкциями по установке и настройке перейдите на официальный сайт разработчика:

Настройка параметра max_connections

Если СУБД PostgreSQL устанавливается впервые и будет использоваться без дополнительного ПО (пуллеров соединений, таких как PgBouncer, Pgpool-II и т.д.), то для корректной работы с Аналитическим порталом в файле конфигурации PostgreSQL необходимо правильно сконфигурировать следующий параметр:

max_connections — пиковое количество одновременно работающих пользователей (значение рассчитывается в зависимости от мощности сервера, по умолчанию 100).

До версии Аналитического портала 3.0 использовалась встраиваемая СУБД — SQLite.

Инициализация базы данных портала

Для инициализации базы данных Аналитического портала необходимо выполнить следующие шаги:

  1. Создать пустую базу данных.
  2. Указать параметры подключения к базе данных в файле настроек.
  3. Выполнить первоначальное заполнение при помощи специальной команды.

Шаг 1. Создание базы данных СУБД

В СУБД необходимо создать базу данных с любой основной схемой (в PostgreSQL по умолчанию — это «public»). Никаких элементов внутри созданной базы данных дополнительно создавать не требуется.

О том, как создать базу данных в СУБД PostgreSQL, можно прочесть в официальном руководстве: Создание базы данных в PostgreSQL.

Шаг 2. Указание параметров подключения к базе в файле настроек

Для подключения Аналитического портала к базе данных необходимо в файле настроек Аналитического портала modusbi.json, в разделе metadata, указать параметры подключения к базе данных:

  • 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 появится соответствующее сообщение:

«Созданы метаданные в <БД PostgreSQL>, необходимо перезапустить сервер.»

где:

  • <БД PostgreSQL> — Имя созданной вами базы данных.
  • сервер — (который необходимо перезапустить) — это сам Аналитический портал, исполняющий роль сервера в клиент-серверной архитектуре.

Запуск с ключом -init выполняется только при первоначальной настройке. Последующие запуски производятся без использования данного ключа.