Этим понедельничным деньком настало время разобраться между двумя очень похожими терминами🤓
💋Есть 2 счета с денюжками: A=30 и В=70, Тотал=100. Они не могут в тотале уйти в минус. Две параллельные транзакции пытаются снять по 100
Что происходит в несериализуемой, сериализуемой и линеаризуемой системах?
1️⃣Несериализуемая
1: снимает 100 с А 2: снимает 100 с В Баланс: А=-70, В=-30, Тотал=-100 Возникла аномалия, мы нарушили правило банка
2️⃣Сериализуемая
1: снимает 100 с А и пытается закоммитить 2: снимает 100 с В и пытается закоммитить
БД сравнивает результат, как если бы они выполнялись последовательно. Если закоммитить сначала первую транзакцию, то состояние будет А=-70, В=70, Тотал=0. Вторая не может снять, потому что в тотале 0, она откатывается. Можем вместо первой закоммитить вторую, таймлайн не важен
3️⃣Линеаризуемая
1: снимает 100 с А, текущее состояние А=-70, В=70, Тотал=0 2: уже видит, что в тотале 0, и даже не пытается
А вот здесь уже важно, какая транзакция началась раньше
Этим понедельничным деньком настало время разобраться между двумя очень похожими терминами🤓
💋Есть 2 счета с денюжками: A=30 и В=70, Тотал=100. Они не могут в тотале уйти в минус. Две параллельные транзакции пытаются снять по 100
Что происходит в несериализуемой, сериализуемой и линеаризуемой системах?
1️⃣Несериализуемая
1: снимает 100 с А 2: снимает 100 с В Баланс: А=-70, В=-30, Тотал=-100 Возникла аномалия, мы нарушили правило банка
2️⃣Сериализуемая
1: снимает 100 с А и пытается закоммитить 2: снимает 100 с В и пытается закоммитить
БД сравнивает результат, как если бы они выполнялись последовательно. Если закоммитить сначала первую транзакцию, то состояние будет А=-70, В=70, Тотал=0. Вторая не может снять, потому что в тотале 0, она откатывается. Можем вместо первой закоммитить вторую, таймлайн не важен
3️⃣Линеаризуемая
1: снимает 100 с А, текущее состояние А=-70, В=70, Тотал=0 2: уже видит, что в тотале 0, и даже не пытается
А вот здесь уже важно, какая транзакция началась раньше
Deputy District Judge Peter Hui sentenced computer technician Ng Man-ho on Thursday, a month after the 27-year-old, who ran a Telegram group called SUCK Channel, was found guilty of seven charges of conspiring to incite others to commit illegal acts during the 2019 extradition bill protests and subsequent months. Hashtags The Channel name and bio must be no more than 255 characters long Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators. According to media reports, the privacy watchdog was considering “blacklisting” some online platforms that have repeatedly posted doxxing information, with sources saying most messages were shared on Telegram.
from us