LITE SOFT DEV
СервераNEURO CORE

Хранилища

MongoDB и Qdrant — что где лежит, как связаны и почему их два.

Данные разделены между двумя хранилищами по типу нагрузки: документы и агрегации — MongoDB, векторный поиск — Qdrant.

Векторы только в Qdrant

Поля embedding в MongoDB нет. Векторы живут только в Qdrant. Связь — общий chunk_id / doc_id.

MongoDB

Все бизнес-данные, обезличенные: ключ пользователя — технический / анонимный ID, полей ФИО и контактов в схеме нет.

КоллекцияКлючевые поляЗаметки
userstechnical_id, school_code, class_code, roleбез ПДн
coursestitle, modules[], schedule, statusконтент и расписание
progresstechnical_id, course_id, module, statusпрохождение
sessionssession_id, anonymous_user_id, scenarioдиалоги ассистента
messagessession_id, role, text, tsрастёт → отдельная коллекция
recommendationsprofiles[], professions[], routes[]результат профориентации
analytics_eventstags[], sabotage_score, periodобезличенная аналитика
documentsdoc_id, source, format, status, chunk_countреестр ingest
knowledge_chunkschunk_id, doc_id, chunk_index, text, sourceтекст и мета, без вектора

Индексы заводятся миграциями под реальные запросы дашбордов — уровни агрегации описаны в Аналитике.

Qdrant

Коллекция knowledge: одна точка = один чанк.

collection: knowledge
  vector: { size: <размерность Qwen3-Embedding>, distance: Cosine }
  point:
    id:      chunk_id            // тот же, что в MongoDB
    vector:  [...]               // Qwen3-Embedding
    payload: { doc_id, chunk_index, text, source, section, format }
  • Текст чанка дублируется в payload — ретрив не ходит в MongoDB за текстом.
  • Payload-поля для фильтрации (doc_id, source, format) — с индексом.
  • Смена модели эмбеддингов → пересоздание коллекции и полный реиндекс.

Правила работы с хранилищами

ПравилоПричина
Пишет только NEURO CORE ServiceЕдиная точка контроля и аудита
Ingest идемпотентен в обеих базахЗадача очереди может повториться
Сначала удаление по doc_id, потом записьИначе дубли чанков в выдаче
Обе базы слушают localhostСнаружи сервера не существует

Аудит и ретеншн

  • Бизнес-журналы (действия, диалоги ИИ, аудит) — MongoDB; технические логи — Loki.
  • Аудит: архив после 90 дней, хранение один год.
  • Бэкапы: цикл 30 дней, глубина не менее года. Snapshot Qdrant — вместе с бэкапом MongoDB; при рассинхроне векторы восстановимы реиндексом.

On this page