talgatbaltasov
@talgatbaltasov
Freelancer

Как лучше разработать интернет магазин, где используется big data?

Всем привет

Хочу разработать свой велосипед для обучения и в дальнейшем использовать как свою наработку при фрилансинге. Пытаюсь написать обычный интернет магазин, но хочу хранить в базе куда зашел пользователь (даже если не зарегался), какие товары его интересует, если не купить отправлять письма, если корзина брошен то так же отправлять письма. Так вот при каждом вызове контроллера это не вызовет сильной нагрузки? И ничего что в базе будет миллионы строк и я могу ли спокойно их обработать?
База mysql, фреймворк yii2
  • Вопрос задан
  • 779 просмотров
Пригласить эксперта
Ответы на вопрос 4
opium
@opium
Просто люблю качественно работать
тут бигдатой даже не пахнет, уровень проекта домашняя хоумпага
такой функционал есть в куче магазинов, то есть банальщина
Ответ написан
@eoffsock
Кодер (Rails)
Люди же делают, это не rocket science и даже не big data (у big data вообще нет четких критериев, когда big, а когда нет)

Mysql просядет конечно, если хранить все в одной таблице. Нужно партиционировать.
Временные данные (для незарегистрированных пользователей) не смертельно хранить в памяти (Redis) — быстрее будет.
Насчет нагрузки на контроллеры ничего не могу сказать — с Yii не работаю. Но не думаю, что это такая уж большая проблема — при отображении товара конкретному пользователю проверять сессию и писать данные о просмотре в базу.

В целом не вижу ничего сложного.
Ответ написан
Комментировать
R0dger
@R0dger
Laravel/Yii/2 AngularJs PHP RESTful API
Сначала в Redis например (создаешь очередь), ну соответсвенно куку пользователя и его действие каждое записываешь.. дальше из редиса выгребаешь в mysql в консоле по крону. выполняешь все действия которые тебе надо и будет счастье.... если сразу в мускул не айс... Главное потом что ты будешь делать с этими временными данными? ведь у тебя нету ни возраста ни пола и т.д. что бы сделать таргетинг... ну если потом как то свяжешь тогда да.. класс... а так выше писали что есть уже движки которые подключаешь и не так дорого.. правда для мелких магазинов врядли будет от них эффективность.
Ответ написан
Комментировать
@spotifi
MySQL для BigData - это да, сильно )))

1. Чтобы использовать MySQLна BigData вам придется целую ферму из сотни MySQL держать и как-то этой фермой рулить.
2. Миллионы строк - это легко для современных БД. При грамотном программировании MySQL даже не вспотеет. Это не BigData.
3. Хотите BigData - изучайте, например, БД Cassandra. Изучайте хранилище Yandex.Elliptics. И т.п.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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