Как заблокировать строки базы данных с помощью pgpool master - slave? - PullRequest
0 голосов
/ 03 мая 2018

У меня есть система Pgpool с несколькими узлами, работающими в режиме ведущий-ведомый. У меня также есть некоторые ресурсы, которые имеют высокий уровень параллелизма и слишком много откатов.

Я думал о двух решениях:

  • Используйте SELECT ... FOR UPDATE запросы для блокировки строк и отправки их только на главный узел (при pgpool выбор для обновления недоступен). На самом деле, мне пришлось бы отправить всю транзакцию на мастер.

  • Используйте Redis для распределения блокировок, чтобы заблокировать каждую строку, и используйте обычный SELECT без блокировок.

Какое решение лучше? Есть другие решения для решения этой проблемы?

...