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

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

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

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

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

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

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

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

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

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

Шаг 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 выполняется только при первоначальной настройке. Последующие запуски производятся без использования данного ключа.