Кеширование БД

Сохранение векторных баз данных и кэша моделей между перезапусками.

triangle-exclamation

Зачем кешировать

  • Экономия времени: индексация может занимать от 2 до 20+ часов в зависимости от объёма данных

  • Экономия трафика: модели не скачиваются повторно

  • Стабильность: данные сохраняются при обновлении контейнера

  • Защита от потери данных: при сбое Docker или перезагрузке системы индексы сохранятся

Ключевые тома

Том в контейнере
Назначение

/app/chroma_db

Векторная база данных ChromaDB

/app/model_cache

Кэш embedding моделей

/app/data

Данные сервера (шаблоны и т.д.)

Рекомендуемые пути на хосте

circle-info

Путь E:\bases\ приведён как пример. Вы можете использовать любой удобный путь на вашем компьютере, например D:\mcp_data\ или C:\Users\<ваш_пользователь>\mcp_bases\. Главное — это должен быть SSD-диск для лучшей производительности.

E:\bases\                    # <-- Пример, используйте свой путь
├── mcp_docs\                # HelpSearchServer - chroma_db
├── mcp_codemetadata\        # CodeMetadataSearchServer - chroma_db
├── mcp_ssl\                 # SSLSearchServer - chroma_db
├── mcp_templates\           # TemplatesSearchServer - data
├── mcp_graph\               # Graph Metadata Search - neo4j
└── mcp_model_cache\         # Общий кэш моделей

Параметры управления кэшем

RESET_DATABASE

Когда использовать true:

  • Первый запуск

  • Изменились исходные данные

  • Сменилась embedding модель

Когда использовать false:

  • Обычный перезапуск

  • Обновление контейнера

  • Тестирование

circle-exclamation

RESET_CACHE

Примеры монтирования томов

HelpSearchServer

SSLSearchServer

TemplatesSearchServer

Проверка кэша

Размер папок

Содержимое ChromaDB

Резервное копирование

Создание бэкапа

Восстановление

Очистка кэша

Полная очистка

Очистка только индекса

Миграция на другой компьютер

  1. Остановите контейнеры

  2. Скопируйте папку E:\bases\ на новый компьютер

  3. Запустите контейнеры с теми же путями

  4. Используйте RESET_DATABASE=false

Last updated