# Требования к хранилищу

**Webim Server** размещает накапливаемый при работе контент в пяти типах хранилищ:

  * В файловой системе (на файлсервере). Здесь сохраняются файлы, отправленные пользователями и операторами, а также файлы, загруженные администраторами (например, аватары операторов, кнопки-изображения и т.д.).

  * В аналитической реляционной базе данных (на сервере реляционной СУБД). Здесь сохраняется вся необходимая для работы сервиса информация - операторы, чаты, категории, опросы, диалоги и т.д.

  * В колоночной СУБД (на сервере колоночной СУБД) - опционально. В колоночной СУБД (на данный момент доступна только **ClickHouse**) сохраняется информация, используемая модулем **Статистики**.

  * В резидентной СУБД (на сервере резидентной СУБД). СУБД данного типа используются для работы **Chat Backend** и [масштабирования **Admin Backend**](https://webim.ru/kb/devops/scaling/admin-backend-scaling.html).

  * В поисковой системе (на сервере поисковой системы) - опционально. Поисковая система используется для быстрого поиска в **Истории диалогов**.

Какой контент мы накапливаем? Это информация о ваших посетителях, операторах, супервизорах и администраторах, настройки системы, история диалогов с ними, передаваемые между операторами и посетителями файлы, статистика и т. д.

**Webim Server** хранит базовые настройки системы, сертификаты, доработки, аватары и передаваемые файлы (загружаемые клиентами и операторами изображения и т. п.) в файловой системе.

Все остальные данные хранятся в базах данных. В частности, каждый аккаунт **Webim** в реляционной СУБД хранит информацию в двух схемах: если клиент размещён в облаке, это схемы `webim_site` и `webim_service_pro_<account>`. Если клиент размещен на мощностях заказчика, это `webim_hosted_meta` и `webim_service_pro_<account>`. В колоночной СУБД хранятся данные статистики.

Все серверные функции (файловое хранилище, реляционная СУБД, колоночная СУБД, поисковая система, **Webim Server**) формально могут выполняться и на одном хосте, но такая конфигурация не рекомендуется. Максимальная производительность достигается, когда они распределены на нескольким серверам.

Требования к **реляционным** СУБД при размещении сервиса на мощностях заказчика (hosted installation):

| Параметр                    | Значение                                                                                                                                                                                                      | Особенности                                                                                                                                  |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| СУБД                        | MySQL 8.0.45 или PostgreSQL 18.1                                                                                                                                                                             | —                                                                                                                                            |
| Пользователи СУБД           | <ul><li>**MySQL**: `webim_site` (для `webim_site/webim_hosted_meta`)<br>`webim_service` в облаке и `webim_hosted_pro` на мощностях заказчика (для `webim_hosted_pro`)</li><li>**PostgreSQL**: `webim_service`</li></ul> | Создайте указанные технические аккаунты в БД. У созданных аккаунтов должны быть **все** привилегии в рамках рабочей БД.            |
| TCP/IP-порт                 | 3306 (по умолчанию для MySQL), 5432 (по умолчанию для PostgreSQL)                                                                                                                                             | Можно использовать любой другой порт. Потребуется перенастройка СУБД, Webim и брандмауэров. Проверить отсутствие конфликтов по новому порту. |
| Драйвер доступа к БД        | InnoDB или MyISAM (при выборе MySQL)                                                                                                                                                                          | Разные драйвера применяются к разным таблицам.                                                                                               |
| Объём места под БД          | 100ГБ (до 20 операторов)<br>500ГБ (до 100 операторов)                                                                                                                                                         | Зависит от интенсивности работы и срока хранения данных                                                                                      |
| Прочие аппаратные параметры | Совпадают с параметрами сервера приложений                                                                                                                                                                    | См. [Требования к аппаратному обеспечению сервера](https://webim.ru/kb/devops/sys-reqs-for-server/sys-reqs-server-hw.html)                                                                    |

Необходимо настроить сервер СУБД, чтобы он [принимал запросы](https://webim.ru/kb/devops/sys-reqs-for-server/sys-reqs-server-nw.html) от **Webim Server** по сети и не принимал анонимных запросов. Для PostgreSQL необходимо дополнительно указать IP-адрес, на котором размещён **Webim Server**.

Требования к хранилищу, связанные с жёстким диском, можно посмотреть в статье [Требования к жёсткому диску](https://webim.ru/kb/devops/sys-reqs-for-server/sys-reqs-server-hdd.html).

Базы Webim создаются автоматически при установке **Webim Server**. Вам только надо обеспечить соблюдение параметров
окружения, описанных в таблице.

Webim.Ru рекомендует настроить автоматическое резервирование (backup) своей базы данных. Для высоконагруженных систем для повышения аптайма желательно настроить репликацию на второй сервер СУБД.

Требования к **колоночным** СУБД при размещении сервиса на мощностях заказчика (hosted installation):

| Параметр                    | Значение                                              | Особенности                                                                                                                                          |
|-----------------------------|-------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| СУБД                        | Clickhouse 23.12                                      |                                                                                                                                                      |
| Пользователи СУБД           | default                                               | Пользователь default по умолчанию обладает root-правами. Можно использовать его с полным доступом или создать нового пользователя с полным доступом. |
| TCP/IP-порт                 | 8123, 9000                                            | Можно использовать любой другой порт. Потребуется перенастройка СУБД, Webim и брандмауэров. Проверить отсутствие конфликтов по новому порту.         |
| Драйвер доступа к БД        | JDBC                                                  | Есть официальный JDBC-драйвер и драйвера сторонних организаций (см. [документацию Clickhouse](https://clickhouse.com/docs/integrations/language-clients/java/jdbc)).    |
| Объём места под БД          | 100ГБ (до 20 операторов)<br>500ГБ (до 100 операторов) | Зависит от интенсивности работы и срока хранения данных                                                                                              |
| Прочие аппаратные параметры | Совпадают с параметрами сервера приложений            | См. [Требования к аппаратному обеспечению сервера](https://webim.ru/kb/devops/sys-reqs-for-server/sys-reqs-server-hw.html)                                                                            |

Требования к **резидентным** СУБД при размещении сервиса на мощностях заказчика (hosted installation):

| Параметр           | Значение                                                           | Особенности                                                                            |
|--------------------|--------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| СУБД               | Redis                                                              | Используется для работы **Chat Backend**, [масштабирования Admin Backend](https://webim.ru/kb/devops/scaling/admin-backend-scaling.html) и микросервиса [Speller](https://webim.ru/kb/devops/services/speller.html). |
| Пользователи СУБД  | default                                                            | Пользователь СУБД по умолчанию.                                                        |
| TCP/IP-порт        | 6379                                                               | Порт по умолчанию.                                                                     |
| Объём места под БД | Не менее 4 ГБ ОЗУ на инстанс, не менее 10 ГБ памяти ПЗУ на инстанс |                                                                                        |

Требования к поисковой системе при размещении сервиса на мощностях заказчика (hosted installation):

| Параметр                    | Значение                                   | Особенности                                                                                                                                             |
| --------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| СУБД                        | Elasticsearch 8.17.1 или OpenSearch 3.0.0     | Указаны версии **Elasticsearch** и **OpenSearch**, на которых производится тестирование сервиса (см. [подключение](https://webim.ru/kb/devops/connect-elasticsearch.html)). |
| Пользователи СУБД           | `elastic` (или пользователь **OpenSearch**) | У встроенного пользователя **Elasticsearch** по умолчанию полный доступ. Для **OpenSearch** создайте пользователя с полными правами на индексы.          |
| TCP/IP-порт                 | 9200                                       | Можно использовать любой другой порт. Потребуется перенастройка СУБД, **Webim Server** и брандмауэров. Проверьте отсутствие конфликтов по новому порту. |
| Объём места под БД          | Не менее 4 объёмов используемых ОЗУ        | См. рекомендации для [**Elasticsearch**](https://www.elastic.co/guide/en/cloud-enterprise/current/ece-hardware-prereq.html) или [**OpenSearch**](https://docs.opensearch.org/latest/install-and-configure/install-opensearch/index/). |
| Прочие аппаратные параметры | Совпадают с параметрами сервера приложений | См. [Требования к аппаратному обеспечению сервера](https://webim.ru/kb/devops/sys-reqs-for-server/sys-reqs-server-hw.html).                                                                              |

---

Источник: https://webim.ru/kb/devops/sys-reqs-for-server/sys-reqs-server-db.html
