Помогают ли современные методы изоляции уменьшить конкуренцию за спорные обновления счетчиков?MySql

Форум по Mysql
Ответить
Anonymous
 Помогают ли современные методы изоляции уменьшить конкуренцию за спорные обновления счетчиков?

Сообщение Anonymous »

Мы поддерживаем счетчики в реляционной базе данных, где каждый входящий запрос увеличивает или уменьшает счетчик с учетом максимального ограничения.
Пропускная способность составляет 300 запросов в секунду, и многие (или все) запросы могут быть нацелены на один и тот же счетчик.
Для корректности каждый запрос в настоящее время синхронно выполняет следующие операции в одной транзакции:
  • Считайте счетчик, чтобы проверить, можно ли его увеличить далее.
  • Вставьте запись журнала, представляющую дельту.
  • Обновите (увеличьте/уменьшите) строку счетчика.
Основной проблемой является высокая конкуренция: когда многие транзакции обновляют одну и ту же строку счетчика, блокировки на уровне строк вызывают сериализацию обновлений, что приводит к увеличению задержки.
Можно использовать более продвинутые методы транзакций, такие как Сериализуемая изоляция моментальных снимков (SSI) или другие подходы на основе MVCC — значительно уменьшают конфликты и повышают пропускную способность для такого рода высококонкурентных обновлений счетчиков, сохраняя при этом синхронность обновлений в одной транзакции. Если SSI/MVCC здесь не помогает, какой класс подходов обычно используют вместо этого реальные системы?

Подробнее здесь: https://stackoverflow.com/questions/798 ... tended-cou
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»