Добрый день!
На сайте появилась необходимость привязывать товары к городам (дабы потом отображать товары в зависимости от страны или города).
Для реализации были рассмотрены три варианта:
- Хранение всех стран, регионов и городов на поддерживаемых языках в своей базе
- Частичное хранение с динамическим пополнением (хранение в бд + запись новых данных)
- Завязка на сторонние сервисы (geonames) и хранение его идентификатора в своей базе
1 вариант - (
похожий вопрос)
является самым надежным и верным вариантом, но требует контроля и поддержки. Минус: увеличит размер базы (что при бэкапах может повлиять на скорость).
2 вариант - необходимо в код приложения добавлять дополниельную логику.
3 вариант - также необходима дополнительная логика на преобразования идентификаторов в названия и т.д. Если сервис перестанет работать - то и приложение перестанет корректно работать.
1) Если реализовывать первый вариант и хранить все страны и города (~2млн записей) на разных языках, не будут ли запросы педалить при поиске используя
like по нескольким столбцам (разные языки), так как пользователь может вводить на разном языке город, страну?
2) Какую структуру бд лучше реализовать (есть такой
вариант)? Подойдёт ли она для штатов, графств и т.д.?
Буду очень благодарен за любые советы! Спасибо )