🤔 Что такое ACID?
Это акроним, представляющий четыре ключевых свойства транзакций в системах управления базами данных (СУБД), которые гарантируют надежность и согласованность при выполнении операций с данными. Эти свойства необходимы для обеспечения целостности данных в многопользовательских и распределенных системах.
🟠Atomicity (Атомарность)
Атомарность гарантирует, что каждая транзакция выполняется полностью или не выполняется вовсе. Если любая часть транзакции завершается с ошибкой, то все изменения, внесенные в ходе этой транзакции, отменяются. Это свойство обеспечивает целостность данных, предотвращая частичные обновления. Пример: Если транзакция состоит из двух операций (перевод денег с одного счета на другой), то обе операции должны быть выполнены успешно или ни одна из них не должна быть выполнена.
🟠Consistency (Согласованность)
Согласованность обеспечивает, что транзакция переводит базу данных из одного согласованного состояния в другое согласованное состояние. Это означает, что все правила и ограничения, заданные в базе данных (такие как целостность ссылок, уникальность и т.д.), должны быть соблюдены до и после выполнения транзакции. Пример: В базе данных учетных записей баланс счета не может быть отрицательным. Транзакция должна гарантировать, что это правило не будет нарушено.
🟠Isolation (Изолированность)
Изолированность гарантирует, что результаты выполнения транзакции невидимы для других транзакций, пока она не будет завершена. Это свойство предотвращает проблемы, связанные с параллельным выполнением транзакций, такие как "грязные" чтения, неповторяемые чтения и фантомные чтения. Пример: Если одна транзакция читает данные, то она не увидит изменения, сделанные другой параллельно выполняющейся транзакцией, до тех пор, пока вторая транзакция не будет завершена.
🟠Durability (Долговечность)
Долговечность гарантирует, что после завершения транзакции ее результаты будут сохранены и останутся в базе данных даже в случае сбоя системы или потери питания. Это достигается путем записи изменений на диск и использования механизмов резервного копирования. Пример: После успешного выполнения транзакции, фиксирующей покупку товаров, информация о покупке останется в базе данных, даже если система сразу после этого выйдет из строя.
Ставь 👍 и забирай 📚 Базу знаний
Post #1692
267