Transaction - в переводе с английского транзакция, сделка.
Интересный факт:
Это слово очень похоже звучит на других языках
Французский: transaction
Испанский: transacción
Итальянский: transazione
Португальский: transação
Немецкий: Transaktion
Транзакции в базе данных (БД) представляют собой логические единицы работы, состоящие из одной или нескольких операций, которые выполняются как неделимые и атомарные единицы. Транзакции должны отвечать критериям ACID:
1. A - Atomicity (Атомарность): Транзакции обеспечивают атомарность операций, что означает, что либо все операции в транзакции успешно выполняются, либо ни одна из них не производится. Это гарантирует, что данные остаются в согласованном состоянии и предотвращает ситуации, когда часть операций выполняется, а другая нет.
2. C - Consistency (Согласованность): Транзакции обеспечивают согласованность данных в БД. При выполнении транзакции данные должны соответствовать предопределенным правилам целостности, описывающим бизнес-правила и ограничения, применяемые к данным. Если транзакция нарушает эти правила, она будет отменена и данные останутся в прежнем состоянии.
3. I - Isolation (Изолированность): Транзакции обеспечивают изолированность, что означает, что каждая транзакция работает независимо от других транзакций, выполняющихся одновременно в БД. Изоляция предотвращает конфликты и гарантирует, что одна транзакция не повлияет на результаты других транзакций.
4. D - Durability (Долговечность): Транзакции гарантируют долговечность данных в случае сбоев или отказов системы. При успешном завершении транзакции изменения вносятся в БД и сохраняются, даже если происходит сбой системы. При восстановлении работы системы данные восстанавливаются до последней завершенной транзакции. Транзакции позволяют обеспечить механизм восстановления данных в случае сбоев или отказа системы. Система управления базой данных (СУБД) использует журналы транзакций для восстановления данных до последнего фиксированного состояния после сбоя.
В целом, использование транзакций в БД обеспечивает надежность, целостность и согласованность данных, а также защиту от сбоев и ошибок в системе.
При обсуждении темы транзакций я люблю приводить очень простой пример, который позволяет легко понять зачем стоит использовать транзакции.
Я хочу пополнить свой счет в банке и помещаю деньги в терминал.
Если в процессе работы терминала возникли ошибки, то терминал должен откатить транзакцию целиком и вернуть деньги. Иначе, есть высокий риск оставить деньги в терминале и не увидеть их на балансе счета.
Жду ваши примеры в комментариях.
Обязательно like, подписка. Будет интересно!
Telegram: lingvodog Дзен: psychodog