Size: a a a

Архитектура ИТ-решений

2020 October 06

IA

Igor A in Архитектура ИТ-решений
Мне одному не нравится идея вообще какие-либо локи в базе делать?
источник

SL

Sergey Lukin in Архитектура ИТ-решений
Igor A
Мне одному не нравится идея вообще какие-либо локи в базе делать?
ну совет про оптимистичные локи вроде как услышан не был, либо совсем не применим к ситуации.
источник

IA

Igor A in Архитектура ИТ-решений
Но это единственный путь не в ад
источник

IA

Igor A in Архитектура ИТ-решений
Pessimistic Локи не скейлятся, плохо работают, итд итп. Надо очень верить базе.
Master-slave вообще приведет непонятно к чему.
10М записей это на пределе того что может нормальная rdbms - те проблемы уже на горизонте
источник

SL

Sergey Lukin in Архитектура ИТ-решений
Igor A
Но это единственный путь не в ад
это перенос ада из базы в бэкенд : )
источник

IA

Igor A in Архитектура ИТ-решений
Каждый сам решает) аргументы я написал
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Peter Tugolukov
Билетов может быть порядка 10 лямов. Производительности хотелось бы добиться порядка 150 rps.
Число билетов не важно при этом, там же rowlock. 150 TPS не должно приводить к блокировкам.
источник

PT

Peter Tugolukov in Архитектура ИТ-решений
Почему не должно?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Igor A
Pessimistic Локи не скейлятся, плохо работают, итд итп. Надо очень верить базе.
Master-slave вообще приведет непонятно к чему.
10М записей это на пределе того что может нормальная rdbms - те проблемы уже на горизонте
Ну, нет. 10mln - это очень немного записей, нагрузка требуется совсем низкая, так что вообще все равно как делать. Тут не в БД дело, а в чем-то ещё.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Peter Tugolukov
Почему не должно?
Потому что это смешная нагрузка. У меня на Pg на дешёвом железе 2000 TPS на в разы более дорогом skip locked получалось без проблем. На тех самых 10mln записей.
Какой движок БД используется?
источник

PT

Peter Tugolukov in Архитектура ИТ-решений
InnoDB.
источник

IA

Igor A in Архитектура ИТ-решений
:)
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну тогда там нет блокировок всей таблицы на for update, так что все должно быть нормально. А часто в бизнесе ситуация, что 150 TPS прилетают на один SKU?
источник

PT

Peter Tugolukov in Архитектура ИТ-решений
Нууу, лотерейные билеты же часто надо продавать.  И по многу.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Но 150tps? Не очень верю, честно говоря. Это РФ или Китай?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
А 'по многу' тут не важно, кстати.
Вообще, если дело в выстраивании в очередь на одной записи - так можно сделать автоматический сплит. Если число запросов на sku больше 50 TPS, то делим на несколько. Если меньше 20 или остаток небольшой, то сливаем.
источник

СХ

Саддам Хусейн... in Архитектура ИТ-решений
Phil Delgyado
Ну тогда там нет блокировок всей таблицы на for update, так что все должно быть нормально. А часто в бизнесе ситуация, что 150 TPS прилетают на один SKU?
почему? распродажи например
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Саддам Хусейн
почему? распродажи например
Распродажи чего? Какой товар продается с частотой в 150 TPS? Один товар.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Это же даже не iPhone в день открытия продаж )
источник

SB

Sergey Bezrukov in Архитектура ИТ-решений
Phil Delgyado
Но 150tps? Не очень верю, честно говоря. Это РФ или Китай?
Если это какие-нибудь акции/облигации, там вполне может быть и такое, кмк.
источник