Size: a a a

Software Design/Architecture/Zen

2020 October 11

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
2 запроса параллельных на новый коммент. первый чуть раньше. 1 запустилась транзакция, 2 запустилась. 2 закоммитилась, 1 закоммитилась.  и получилось, что 1я транзакция перетрет результат 2й.. ну надуманный пример конечно, да и принципиальной разницы нет
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Алексей Гевондян
2 запроса параллельных на новый коммент. первый чуть раньше. 1 запустилась транзакция, 2 запустилась. 2 закоммитилась, 1 закоммитилась.  и получилось, что 1я транзакция перетрет результат 2й.. ну надуманный пример конечно, да и принципиальной разницы нет
А такое возможно? Я думал транзакции будут выполнены в порядке запуска....
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
ну мало ли что там в процессе выполнения транзакции подвиснуть может, так, надуманный пример. при прочих равных врядли такое будет. в общем нет смысла заморачиваться, делай как задумал - все норм будет.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Сергей Предводителев
А такое возможно? Я думал транзакции будут выполнены в порядке запуска....
это если с select for update
источник

SP

Sergey Protko in Software Design/Architecture/Zen
но это по сути ты лочишь запись
источник

SP

Sergey Protko in Software Design/Architecture/Zen
при этом те кто хотят записать в эту запись по другим причинам (обновление темы) будут вынуждены ждать пока ты с комментами закончишь)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
а если без select for update то кто последний закоммитил тот и победил
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Хм, тогда действительно, теоретически возможно)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
при этом там скользкий момент чей коммент считать последним) если у тебя второй чел в базу залетел первым но ему не повезло ибо пришлось ждать и второй запрос чуть опоздал то уже не все так гладко)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
потому и говорю что "зря ты себе условия конкурентного доступа к ресурсам на пустом месте создаешь")
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Блин, вот на первый взгляд простая задача, а сколько подводных камней :)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
ну тип мы сча рассуждаем о эдж кейсе который мол... в один тред залетают два коммента в пределах пары десятков милисекунд. Возможно ли это - да. Дальше вопрос что будет если комментарий который ты запишешь в базу небыл последним. Если всем насрать то пофигу. Обычно на такие штуки когда случается раз в пол года всем срать
источник

k

knopkod4v in Software Design/Architecture/Zen
консистентность оверрейтед. Но там где она не оверрейтед - последствия могут быть печальными. Наверное поэтому людям проще пытаться везде сделать консистентно. Чтоб не думать 🤔
источник

SP

Sergey Protko in Software Design/Architecture/Zen
вообще вероятность конфликта это интересная тема. Берешь например кейс - бронирование времени к врачу (мол через интернеты) - там "ближайший час" это самое востребованное время а потом вероятность резко падает и в целом интересные распределения.

Или букинг отелей и т.д. - вероятность конфликта при бронировании на пятницу субботу будет сильно выше чем на вторник среду.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
а разработчики в основном все упрощают до "всегда одинаково".
источник

k

knopkod4v in Software Design/Architecture/Zen
Sergey Protko
а разработчики в основном все упрощают до "всегда одинаково".
ваще капец. Сам такой =(
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
knopkod4v
консистентность оверрейтед. Но там где она не оверрейтед - последствия могут быть печальными. Наверное поэтому людям проще пытаться везде сделать консистентно. Чтоб не думать 🤔
там все на эвентах и очередях
источник

SP

Sergey Protko in Software Design/Architecture/Zen
knopkod4v
консистентность оверрейтед. Но там где она не оверрейтед - последствия могут быть печальными. Наверное поэтому людям проще пытаться везде сделать консистентно. Чтоб не думать 🤔
вот эта фраза про consistency is overrated это не про "забей на консистентность" это про "imidiate consistency"
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
если прям надо жестко чтобы все было четко - то выбор должен падать на eventual consistency. так ведь?
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Алексей Гевондян
если прям надо жестко чтобы все было четко - то выбор должен падать на eventual consistency. так ведь?
Это когда события кидаются в какую-то очередь и друг за дружкой разбираются?
источник