TGViewer
METANIT.COM METANIT.COM @devnull22 · 5.82K subscribers
Post #2482 1.7K
Slotted counters и конкуренция строк

Cлотовые счётчики (slotted counters) представляют способ распределения операций увеличения значений на множестве строк для уменьшения конфликтов при одновременном доступе

Рассмотрим такой сайт, как YouTube, где надо отслеживать количество просмотров каждого видео. Удобно хранить эту информацию в виде столбца в таблице с видео, но для популярных видео будет множество запросов, одновременно пытающихся увеличить значение в одной и той же строке

Конфликты == блокировки == медленная работа!

Как это исправить? Распределить подсчёт по N строкам в специальной таблице счётчиков. На рисунке N=3, но можно установить N=100 или N=1000 в зависимости от нагрузки

При каждом увеличении случайным образом для инкремента выбирается одна из N строк. Когда нужно получить общее количество просмотров для видео, суммируются все значения счётчиков для строк с определённым v_id. Это можно делать по мере необходимости или через регулярные промежутки времени и сохранять в таблице видео
  • 👍 9
  • 👏 3
  • 🏆 3
More from @devnull22
  1. Mar 19, 2026Добавил в руководство по JavaScript главу про работу с датами и временем с помощью Tempora…
  2. Mar 19, 2026Роскомнадзор перестал полностью справляться с блокировками в интернете Роскомнадзор (РКН)…
  3. Mar 18, 2026Минцифры опубликовало законопроект о государственном регулировании ИИ. Закон должен начать…
  4. Mar 18, 2026Microsoft призвала разработчиков создавать ИИ-приложения в Electron на Windows 11 Microsof…
  5. Mar 18, 2026Oracle анонсировала проект Detroit, который будет развиваться в составе OpenJDK и нацелен…
  6. Mar 17, 2026Вышла новая версия платформы Java - JDK 26. JDK 26 — краткосрочная версия с поддержкой Pre…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →