# Хранение данных

Платформа сохраняет все данные, проходящие через ХАБ: они нужны для разбора соревнований, отладки моделей и обучения новых моделей ИИ. Для каждого типа данных используется подходящее хранилище.

## Хранилища

| Хранилище | Что хранится | Особенности |
|---|---|---|
| **S3 / MinIO** | Видео, датасеты, снапшоты (версии) моделей ИИ, лог-файлы | Объектное хранилище; разделение по бакетам |
| **Time Series DB** | Телеметрия: GPS, скорость, IMU, заряд батареи, показания датчиков | Хранение и выборка по времени, агрегация |
| **PostgreSQL** | Пользователи, реестр устройств, сессии, права доступа, настройки | Реляционные данные |
| **Redis** | Горячий кэш, состояние в реальном времени | In-memory; актуальные значения для ХАБа |
| **Файловая система** | Локальные логи и временные файлы | Используется на этапе демо-прототипа |

## Что записывается в лог сессии

На каждом сеансе управления роботом ведётся лог данных:

| Данные | Хранилище | Содержание записи |
|---|---|---|
| Видео | S3 | Кадры/фрагменты видео с отметкой времени и идентификатором робота и камеры |
| Телеметрия | Time Series DB | Вектор телеметрии с временем создания на роботе и временем приёма на сервере |
| Команды оператора | Time Series DB / S3 | Команда, автор, время, робот |
| Команды моделей ИИ | Time Series DB / S3 | Команда, модель, версия модели, время, робот |
| Выходы моделей | S3 | Результаты детекции, логи модели |

<p class="callout info">Благодаря синхронной записи «кадр — телеметрия — команда оператора» каждая сессия ручного управления превращается в готовый датасет для Imitation Learning. Подробнее — на странице <a href="https://docs.mephi-ai.ru/books/upravlenie-robotami-s-pomoshhiu-ii/page/sbor-dannyx-i-obucenie-modelei">Сбор данных и обучение моделей</a>.</p>

## Рекомендуемая структура объектного хранилища

```
s3://artex-video/<robot_sid>/<session_id>/<camera>/<timestamp>.jpg
s3://artex-datasets/<dataset_name>/<version>/...
s3://artex-models/<model_name>/<version>/weights.*
s3://artex-logs/<service>/<date>/...
```

## Настройка сохранения данных

Параметры сохранения задаются администратором в портале управления платформой:

- какие потоки записывать (видео, телеметрия, команды) — для всех роботов или выборочно;
- частота прореживания видео при записи (например, каждый N-й кадр);
- срок хранения данных;
- включение записи видео по команде оператора (`video_start_record` / `video_stop_record`).

## Этап демо-прототипа

На этапе демо-прототипа логи сохраняются в файлы; развёртывание, подключение и тестирование S3 и Time Series DB выполняются на этапе прототипа «Альфа».