logo

Свойства на ACID в СУБД

СУБД е управлението на данни, които трябва да останат интегрирани, когато се правят промени в тях. Това е така, защото ако целостта на данните бъде засегната, целите данни ще бъдат нарушени и повредени. Следователно, за да се поддържа целостта на данните, има четири свойства, описани в системата за управление на базата данни, които са известни като КИСЕЛИНА Имоти. Свойствата на ACID са предназначени за транзакцията, която преминава през различна група от задачи, и тук стигаме да видим ролята на свойствата на ACID.

В този раздел ще научим и разберем свойствата на ACID. Ще научим какво представляват тези свойства и за какво се използва всяко свойство. Също така ще разберем свойствата на ACID с помощта на някои примери.

Свойства на ACID

Разширяването на термина ACID дефинира за:

Свойства на ACID в СУБД

1) Атомност

Терминът атомарност определя, че данните остават атомарни. Това означава, че ако се извърши някаква операция върху данните, тя или трябва да бъде изпълнена или изпълнена напълно, или не трябва да бъде изпълнена изобщо. Освен това означава, че операцията не трябва да прекъсва между тях или да се изпълнява частично. В случай на извършване на операции по транзакцията, операцията трябва да бъде изпълнена изцяло, а не частично.

Пример: Ако Remo има сметка A с $30 в сметката си, от която той желае да изпрати $10 към сметката на Sheero, която е B. В сметка B вече има сума от $100. Когато $10 бъдат прехвърлени към сметка B, сумата ще стане $110. Сега ще има две операции, които ще се проведат. Едната е, че сумата от $10, която Remo иска да прехвърли, ще бъде дебитирана от неговата сметка A и същата сума ще бъде кредитирана в сметка B, т.е. в сметката на Sheero. Сега какво се случва - първата операция за дебит се изпълнява успешно, но операцията за кредит обаче се проваля. По този начин в сметката A на Remo стойността става $20, а в тази на Sheero остава $100, както е била преди.

Свойства на ACID в СУБД

В горната диаграма може да се види, че след кредитиране на $10, сумата все още е $100 в сметка B. Така че това не е атомарна транзакция.

Изображението по-долу показва, че дебитните и кредитните операции са извършени успешно. Така транзакцията е атомарна.

Свойства на ACID в СУБД

По този начин, когато сумата загуби атомарност, тогава в банковите системи това се превръща в огромен проблем и така атомарността е основният фокус в банковите системи.

2) Консистенция

Думата последователност означава, че стойността трябва да остане запазена винаги. в СУБД , целостта на данните трябва да се поддържа, което означава, че ако бъде направена промяна в базата данни, тя трябва да остане винаги запазена. В случай на транзакции, целостта на данните е много важна, така че базата данни да остане последователна преди и след транзакцията. Данните винаги трябва да са верни.

Пример:

Свойства на ACID в СУБД

На фигурата по-горе има три акаунта, A, B и C, където A извършва транзакция T една по една към двете B и C. Има две операции, които се извършват, т.е. дебитна и кредитна. Сметка A първо дебитира $50 към сметка B, а сумата в сметка A се прочита от $300 от B преди транзакцията. След успешната транзакция T, наличната сума в B става $150. Сега A дебитира $20 към сметка C и по това време стойността, прочетена от C, е $250 (това е правилно, тъй като дебит от $50 е извършен успешно към B). Дебитната и кредитната операция от сметка A към C е извършена успешно. Виждаме, че транзакцията е извършена успешно и стойността също е прочетена правилно. Следователно данните са последователни. В случай, че стойността, прочетена от B и C, е $300, това означава, че данните са непоследователни, тъй като когато дебитната операция се изпълни, тя няма да бъде последователна.

3) Изолация

Терминът „изолация“ означава отделяне. В СУБД изолацията е свойство на база данни, където никакви данни не трябва да засягат другата и могат да се появят едновременно. Накратко, операцията върху една база данни трябва да започне, когато операцията върху първата база данни завърши. Това означава, че ако се извършват две операции върху две различни бази данни, те може да не влияят на стойността една на друга. В случай на транзакции, когато две или повече транзакции се извършват едновременно, последователността трябва да остане запазена. Всички промени, които се случват в която и да е конкретна транзакция, няма да се видят от други транзакции, докато промяната не бъде записана в паметта.

Пример: Ако две операции се изпълняват едновременно в два различни акаунта, тогава стойността на двата акаунта не трябва да бъде засегната. Стойността трябва да остане постоянна. Както можете да видите на диаграмата по-долу, сметка A прави транзакции T1 и T2 към сметка B и C, но и двете се изпълняват независимо, без да се засягат една друга. Известно е като изолация.

Свойства на ACID в СУБД

4) Издръжливост

Устойчивостта гарантира постоянството на нещо. В СУБД терминът трайност гарантира, че данните след успешното изпълнение на операцията стават постоянни в базата данни. Устойчивостта на данните трябва да бъде толкова перфектна, че дори ако системата се провали или доведе до срив, базата данни все още оцелява. Въпреки това, ако се загуби, това става отговорност на мениджъра за възстановяване за осигуряване на издръжливостта на базата данни. За записване на стойностите, командата COMMIT трябва да се използва всеки път, когато правим промени.

Следователно свойството ACID на СУБД играе жизненоважна роля в поддържането на последователността и наличността на данните в базата данни.

По този начин това беше точно въвеждане на ACID свойства в СУБД. Обсъдихме тези свойства и в раздела за транзакции.