Приложения

Свойство изоляции в базе данных

Изоляция — это свойство уровня базы данных, которое контролирует, как и когда вносятся изменения и становятся ли они видимыми друг для друга, пользователей и систем. Одна из целей изоляции состоит в том, чтобы позволить нескольким транзакциям происходить одновременно, не оказывая негативного влияния на выполнение каждой из них.

Изоляция является неотъемлемой частью транзакционных свойств базы данных. Это третье свойство стандартов ACID (атомарность, согласованность, изоляция, долговечность) , обеспечивающих согласованность и точность данных. 

Как работает изоляция

Если Джо выполняет транзакцию для базы данных в то же время, когда Мэри выполняет другую транзакцию, обе транзакции должны работать в базе данных изолированно. База данных должна либо выполнить всю транзакцию Джо перед выполнением Мэри, либо наоборот. Эта исключительность не позволяет транзакции Джо читать промежуточные данные, полученные как побочный эффект части транзакции Мэри, которая в конечном итоге не будет передана в базу данных.

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

Уровни изоляции

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

Чем ниже уровень изоляции, тем больше вероятность того, что пользователи столкнутся с явлениями чтения, такими как незафиксированные зависимости, также известные как грязные чтения, которые приводят к чтению данных из строки, которая была изменена другим пользователем, но еще не зафиксирована в базу данных.

Похожие посты
Приложения

34 лучших бесплатных программных инструмента для резервного копирования

Приложения

Лучшие онлайн-инструменты для встреч

Приложения

11 лучших бесплатных почтовых аккаунтов

Приложения

7 бесплатных языков программирования для обучения детей кодированию