BIG_DATA_SYSTEMS_ANALYSIS Telegram 25
Atomicity — Атомарность

Выше мы разговаривали о требованиях ACID (хэштег #acid). Рассмотрим каждое требование подробнее.

Атомарность гарантирует, что каждая транзакция выполнится целиком или не будет выполнена вовсе. Третьего не дано. Если в любой операции транзакции случился сбой, то все операции транзакции будут отменены и данные вернутся в исходное состояние.

Само понятие транзакции включает себя это требование. Транзакция — неделимый набор операций.

Простейший пример транзакции:
BEGIN;
UPDATE accounts SET balance = balance - 5000.00
    WHERE name = 'Olga';
UPDATE accounts SET balance = balance + 5000.00
    WHERE name = 'Bob';
COMMIT;
ROLLBACK;

Ольга перевела 5000 у.е. Ивану, в результате со счёта Ольги списались 5000, а Ивану зачислились 5000. Если, к примеру, во время зачисления средств на счёт Ивана произошёл сбой (н-р, счёт Ивана не был найден), то и списание средств со счёта Ольги не произошло. Аналогично сработает, если на счету у Ольги не окажется нужной суммы для перевода, то и Ивану тогда ничего не зачислится.

Чтобы обеспечить атомарность, СУБД используют механизмы логирования и отката. Логирование позволяет записывать все изменения, внесенные в базу данных, в журнал транзакций. В случае сбоя или ошибок СУБД использует журнал для отмены изменений, внесенных этой транзакцией.

#sql #acid



tgoop.com/big_data_systems_analysis/25
Create:
Last Update:

Atomicity — Атомарность

Выше мы разговаривали о требованиях ACID (хэштег #acid). Рассмотрим каждое требование подробнее.

Атомарность гарантирует, что каждая транзакция выполнится целиком или не будет выполнена вовсе. Третьего не дано. Если в любой операции транзакции случился сбой, то все операции транзакции будут отменены и данные вернутся в исходное состояние.

Само понятие транзакции включает себя это требование. Транзакция — неделимый набор операций.

Простейший пример транзакции:

BEGIN;
UPDATE accounts SET balance = balance - 5000.00
    WHERE name = 'Olga';
UPDATE accounts SET balance = balance + 5000.00
    WHERE name = 'Bob';
COMMIT;
ROLLBACK;

Ольга перевела 5000 у.е. Ивану, в результате со счёта Ольги списались 5000, а Ивану зачислились 5000. Если, к примеру, во время зачисления средств на счёт Ивана произошёл сбой (н-р, счёт Ивана не был найден), то и списание средств со счёта Ольги не произошло. Аналогично сработает, если на счету у Ольги не окажется нужной суммы для перевода, то и Ивану тогда ничего не зачислится.

Чтобы обеспечить атомарность, СУБД используют механизмы логирования и отката. Логирование позволяет записывать все изменения, внесенные в базу данных, в журнал транзакций. В случае сбоя или ошибок СУБД использует журнал для отмены изменений, внесенных этой транзакцией.

#sql #acid

BY В мире больших данных


Share with your friend now:
tgoop.com/big_data_systems_analysis/25

View MORE
Open in Telegram


Telegram News

Date: |

How to Create a Private or Public Channel on Telegram? More>> It’s easy to create a Telegram channel via desktop app or mobile app (for Android and iOS): Telegram is a leading cloud-based instant messages platform. It became popular in recent years for its privacy, speed, voice and video quality, and other unmatched features over its main competitor Whatsapp. The public channel had more than 109,000 subscribers, Judge Hui said. Ng had the power to remove or amend the messages in the channel, but he “allowed them to exist.”
from us


Telegram В мире больших данных
FROM American