Не могу понять, что значит избежать блокировок БД

дали тестовое задание на стеке PHP 7.*, Laravel 8. копипастить тз я не буду, но задание это сделать сайт "статейник" с парой страниц

  • Главная
  • Каталог статей
  • Страница статьи

статью можно лайкать, при открытии статьи через 5 секунд отправляется запрос который инкрементирует счетчик просмотров статьи. и в тестовом в конце есть такой пункт

При реализации API методов учтите, что онлайн блога заранее не известен. Ваша реализация должна позволять избежать блокировок БД в случае огромного количества входящих запросов (допустим 1 млн входящих запрос на инкрементацию счетчика просмотров). Это требования необходимо вам для организации правильного хранения лайков и просмотров.

я гуглил. нагуглил только то что "блокировка бд" это транзакции... и почитал статьи о оптимизации запросов на Laravel, но мне кажется это не то что мне нужно. ну и вот с связи с этим у меня вопросы с которыми я не могу разобраться сам

  1. Что такое блокировка БД от большого количества запросов?
  2. Как избежать этой самой блокировки?
  3. Есть ли решения для этой проблемы в Laravel?

Ответы (1 шт):

Автор решения: Qwertiy

Возможно имеется в виду, что нужен какой-то слой кэширования.

Например, держим счётчик в памяти, а в БД сохраняем не чаще раза в секунду.

Ну и при чтение достаём аналогично: если есть в памяти, берём оттуда, если нет, то считываем из базы и кэшируем.

→ Ссылка