Выбор между MongoDB и созданием отдельной таблицы в PostgreSQL зависит от ваших конкретных потребностей, ограничений и предпочтений.
Если у вас нет других данных о гостях, кроме session_id или токена, и данные гостей должны храниться несколько месяцев, то MongoDB может быть разумным выбором. MongoDB предлагает гибкую схему и хранение в формате key-value, что может быть удобно для хранения данных, которые не требуют сложной структуры. MongoDB также может обеспечить высокую производительность на SSD.
Однако, перед принятием решения, вам стоит учитывать следующие факторы:
1. Масштабируемость: Если ваш интернет-магазин ожидает большое количество гостевых пользователей и нагрузку на базу данных, то MongoDB может быть лучшим выбором для масштабирования горизонтально.
2. Ограничения схемы: MongoDB не обеспечивает строгую схему, поэтому вам нужно будет контролировать и обрабатывать данные, чтобы предотвратить проблемы, такие как дублирование или неправильные ссылки.
3. Управление данными: При использовании MongoDB вы должны позаботиться о резервном копировании и восстановлении данных, а также о правильном управлении индексами и производительности.
Если вы предпочитаете использовать PostgreSQL и хранить данные о гостях в отдельной таблице, это также может быть рациональным выбором. Вам нужно будет реализовать логику для автоматического удаления устаревших записей из этой таблицы, чтобы избежать накопления мусорных данных. PostgreSQL предоставляет средства для выполнения такой очистки данных, например, с использованием механизма триггеров и планировщика заданий.
В конечном счете, решение будет зависеть от ваших потребностей, ограничений и уровня комфорта с тем или иным инструментом. Рекомендуется провести подробное исследование и тестирование обоих вариантов до принятия окончательного решения.