Структура данных для каталога товаров. Атрибуты влияют на цену. Как организовать?
Помогите разрешить дилемму.
Задача наверное типовая, можно ткнуть меня носом, куда читать
Товар, например футболка, может иметь разные цвета и материалы, которые влияют на цену, описание, фото, наличие.
В итоге, если у футболки 10 цветов и 10 материалов для одной модели будет 100 вариаций.
Очень удобно с точки зрения дальнейших манипуляций хранить на каждую вариацию свой объект/запись в базе.
Клиент конечно же должен видеть только одну модель, с возможностью выбора цвета, материала.
В итоге, если товаров 100 000, в базе имеем 10 000 000 записей.
Если еще представить, что будут разные фотографии, например по 10 на позицию, то хочется звать маму и боятся во все стороны.
Цифры выглядят устрашающе.
Дублирование в базе тоже настораживает(все прочие параметры у 100 вариаций идентичны)
Подскажите на верном ли я пути или где я не прав?
Стек технологий: MongoDB, php
а так по логике, надо просто вводить расчет стоимости товара. Какие-то свойства товара влияют на цену, какие-то нет. Мне кажется это будничная логика для большинста ecommerce решений.