@cegthgtlhj

Как правильно организовать структуру данных для вебсайта на Питоне + MySQL?

как правильно организовать структуру данных для вебсайта на Питоне + MySQL?
дано: промышленный продукт. Заводское обозначение продукта имеет следующую структуру ABC-XXXX-XXXX-XXXX, где первые три буквы "АВС" у всех продуктов одинаковы. А остальные буквы отображают не связанные друг с другом свойства/аттрибуты продукта и могут принимать 1...8 значений.
Например первый "Х" - это цвет, может принимать значения 1-белый, 2-красный, 3-зеленый, 4-желтый и т.д.
второй "Х" - это клей, которым продукт склеен, может принимать значения 1-клей на полиуретановой основе, 2-клей на эпоксидной основе, 3- клей на керамической основе, и т.д.
третий "Х" - это материал из которого продукт изготовлен, может принимать значения 1-полиамид, 2-оцинкованная сталь, 3-алюминий, 4-нержавейка и так далее
и так далее.
То есть продукт может называться ABC-9871-5235-1258 и в таком же духе в соответствии с возможными для данного икса аттрибутами.

задачи следующие
как правильно организовать структуру хранения данных?
Первый вариант, самый тупой и неэффективный - это создать таблицу и забить в нее все возможные варианты обозначения продукта. Получится таблица с 20.000 - 100.000 записями всех возможных комбинаций продукта.
Нужно учесть два аспекта
1. генерирование sitemap.xml для поисковика. Когда поисковик запросит файл sitemap.xml - сгенерировать ему это файл на основании этой большой таблицы - здесь все ясно. А без нее?
2. Посетитель вводит обозначение продукта в поисковом окошечке на вебсайте. Осуществить поиск на основании этой большой таблицы - здесь все ясно. А без нее?

Подозреваю что можно организовать данные как-то более эффективно чем статическая таблица на 20.000 - 100.000 записей, но не понимаю как.
Поддержите пожста идеей.
Если не делать эту большую таблицу, а при запросе поисковиком sitemap.xml генерировать динамически из отдельных аттрибутов, процесс займет наверное от 5 минут и больше. Поисковик будет ждать столько времени?
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ответы на вопрос 1
@cegthgtlhj Автор вопроса
короче пришел к следующему решению.
если взять все возможные варианты, то получается количество записей в таблице порядка с 6 нулями. Что в принципе явно избыточно со всех точек зрения. Остановился на том, что создам около 100.000 тыщ записей, которые покроют минимум процентов 80 (а может и больше) всех вероятных поисковых запросов. На том и остановился. То есть у меня в sitemap.xml будет около 100.000 линков.
Эти 100.000 записей с обозначением продукта можно было генерировать динамически из двух таблиц с 50 записями, - экономия места в таблице (наверное не обязательно) но ресурсозатратно при каждой новой генерации. Поэтому сделал одну статическую таблицу на эти 100.000 записей, из которой за пару секунд автоматически генерится sitemap.xml.
.
То есть изначальный перфекционистский подход - оказался явно избыточным.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы