SQL Server и свойство ACID базы данных

Я новичок в базе данных и SQL Server.

Поэтому, когда я искал информацию о базе данных в Интернете, я обнаружил, что база данных считается хорошей, если она подчиняется или следует ACID (атомарность, согласованность, изоляция, долговечность).

Интересно, что Microsoft SQL Server (любая версия, текущая или предыдущая) внутренне следует свойству ACID, или если мы используем MS SQL Server в нашем приложении, тогда мы должны написать код таким образом, чтобы наше приложение соответствовало свойство КИСЛОТА.

Вкратце: поддержание свойства ACID является задачей (или ответственностью) базы данных или ее задачей разработчика приложений.

Спасибо..


person Aryan SuryaWansi    schedule 09.07.2011    source источник
comment
Транзакция. Транзакция — это пакет операторов SQL, который ведет себя как единое целое. Проще говоря, транзакция — это единица, в которой выполняется последовательность действий для завершения всего действия. Мы можем взять пример банковской транзакции, чтобы понять это. Когда мы переводим деньги со счета «А» на счет «Б», происходит транзакция.   -  person Neeraj Kumar Yadav    schedule 26.02.2015


Ответы (5)


ИМХО, это двойная поддержка. И администраторы БД (пишущие хранимые процедуры), и программисты должны применять свойства ACID. SQL Server поддерживает свои собственные свойства ACID внутри, и нам не нужно об этом беспокоиться.

Свойства ACID применяются в SQL Server.

Прочитайте это: кислотные свойства SQL 2005

Но это не означает, что база данных будет обрабатывать все за вас.

Согласно Пиналу Дэйву (blog.sqlauthority .com)

ACID (аббревиатура от Atomicity Consistency Isolation Durability) — это концепция, на которую специалисты по базам данных обычно обращают внимание при оценке баз данных и архитектур приложений. Для надежной базы данных должны быть достигнуты все эти четыре атрибута.

Атомарность — это принцип "все или ничего".

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

Изоляция отделяет транзакции друг от друга до их завершения.

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

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

Это касается разработчиков, имеющих дело с базами данных.

Но разработчики приложений также должны написать бизнес-логику, в которой принудительно применяются свойства ACID.

Пример на Практическое использование свойств ACID поможет вам больше, я думаю

person naveen    schedule 09.07.2011
comment
Есть ли какое-либо приложение с простой операцией CRUD базы данных, которое следует свойству ACID?? - person Aryan SuryaWansi; 09.07.2011
comment
взгляните на транзакции внутри SP. 4guysfromrolla.com/webtech/080305-1.shtml - person naveen; 09.07.2011

Почти все современные системы баз данных применяют свойства ACID. Прочитайте это : Транзакция базы данных и свойства ACID

person Manoj    schedule 30.11.2011
comment
comment
MySQL тоже нет (DDL конечно нет!) - person Mark K Cowan; 02.06.2017

ACID --> Атомарность, согласованность, изоляция, долговечность

Атомарность
Транзакция – это основная единица обработки. Либо выполняются все его операции, либо ни одна из них. Предположим, что система дает сбой после операции записи (A) (но до записи (B).)
База данных должна иметь возможность восстановить старые значения A и B (или завершить всю транзакцию)

Сохранение непротиворечивости.
Выполнение одной транзакции должно перевести базу данных из одного согласованного состояния в другое согласованное состояние. Сумма A и B не должна изменяться при выполнении транзакции.

Изоляция.
Транзакция не должна сообщать другим транзакциям о своих последствиях до тех пор, пока она не будет зафиксирована. Если две транзакции выполняются одновременно, должно казаться, что одна завершила выполнение до того, как началась другая. Если другая транзакция, выполняющаяся в то же время, читает (и/или записывает) учетные записи A и B, она не должна иметь возможности считывать данные в несогласованном состоянии (после записи в A и до записи в B).

Надежность.
После фиксации транзакции изменения в базе данных не могут быть потеряны из-за сбоя в будущем. После завершения транзакции у нас всегда будут новые значения A и B в базе данных.

person Pritam Banerjee    schedule 20.12.2016

Транзакция. Транзакция — это пакет операторов SQL, который ведет себя как единое целое. Проще говоря, транзакция — это единица, в которой выполняется последовательность действий для завершения всего действия. Мы можем взять пример банковской транзакции, чтобы понять это.

Когда мы переводим деньги со счета «А» на счет «Б», происходит транзакция. Каждая транзакция имеет четыре характеристики, которые известны как свойства ACID.

◦ Атомарность ◦ Непротиворечивость ◦ Изоляция ◦ Долговечность

Атомарность: каждая транзакция следует модели атомарности, что означает, что если транзакция запущена, она должна быть либо завершена, либо откатана. Чтобы понять это, давайте возьмем приведенный выше пример, если человек переводит сумму со счета «А» на счет «Б», она должна быть зачислена на счет «Б» после завершения транзакции. В случае, если произойдет какой-либо сбой, после списания суммы со счета «А» изменение должно быть откатным.

Согласованность: - Согласованность говорит о том, что после завершения транзакции изменения, сделанные во время транзакции, должны быть согласованными. Давайте разберемся в этом факте, обратившись к приведенному выше примеру, если счет «А» был списан на 200 рупий, то после завершения транзакции счет «Б» должен быть зачислен на 200 рупий. Это означает, что изменения должны быть последовательными.

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

Долговечность: - Долговечность означает, что после завершения транзакции все изменения должны быть постоянными, это означает, что в случае любого сбоя системы изменения не должны быть потеряны.

person Neeraj Kumar Yadav    schedule 26.02.2015

КИСЛОТА :

[A]tomic: - Все удается или терпит неудачу как единое целое.

[C]consistent: - Когда операция завершена, все остается в безопасном состоянии.

[I]solated: - Никакая другая операция не может повлиять на мою работу.

[D]urable: - Когда операция завершена, изменения безопасны.

person Community    schedule 07.10.2013