Транзакция с база данни

Въведение

В системата на базата данни транзакцията е отделна единица работа, тя може да промени баланса на акаунта на потребителя, може да бъде операция за запис на елемент от инвентара. В среда с един потребител и една база данни за извършване на относително прости дейности, но в разпределена среда поддържането на целостта на множество бази данни е по-сложно. Повечето онлайн системи за обработка на транзакции се изпълняват на мейнфрейм компютри, това се дължи на сложността на нейните операции, необходимостта от бърз вход / изход и подобряване на управлението. Ако транзакция трябва да бъде модифицирана на няколко места, ще трябва да пренапише механизма за управление на данни, за да предотврати и осигури синхронизация. Той също така трябва да има способността да връща неуспешна транзакция, за да осигури възможности за сигурност и възстановяване на данни.

Например, отиваме на банковия превод, операцията може да бъде разделена на следните две области:

(1) за теглене на пари от сметка.

(2) плащането към втората сметка.

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

транзакцията на базата данни е логично разделение, понякога не много ясно, може да е множество стъпки, може да са стъпки. Можем да разберем база данни от неща: поредица от модификации, направени в базата данни, в процеса на модификация, все още не записани в базата данни, но кеширани в собствения терминал на потребителя, могат да визуализират промените, докато всички промени не бъдат завършени и проверени, за да потвърдят правилността, и изпратете еднократно писмено в базата данни, преди да изпратите, ако е необходимо, направените промени могат да бъдат отменени. След подаване, той не може да бъде отменен, след успеха на други потребители да изпращат заявки, преди промяната да може да разглежда данните.

свойства

1, атомарност (Atomicity): всички операции в една транзакция са интегрална база данни, или завършени, или не всички да бъдат изпълнени.

2, последователност (Постоянство): няколко транзакции, изпълнявани паралелно, резултатите от които трябва да съответстват на определен ред на серийно изпълнение.

3, изолация (Isolation): изпълнение на транзакция без намеса от други транзакции, междинният резултат от изпълнението на транзакцията към друга транзакция трябва да бъде прозрачен.

4, постоянен (трайност): За всички ангажирани транзакции системата трябва да гарантира, че промените в транзакцията на базата данни не са загубени, дори ако базата данни се повреди.

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

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

роля

обикновено съдържа транзакция на база данни за четене на последователност от операции на база данни/запис. Присъствието му с две цели:

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

  2. когато множество едновременни приложения имат достъп до базата данни, може да осигури метод за изолация между тези приложения, за да се предотврати намеса между работата им.

Когато дадена транзакция е изпратена до СУБД (система за управление на база данни), СУБД (система за управление на база данни) трябва да гарантира, че всички операции на транзакцията са завършени успешно и резултатите се съхраняват постоянно в базата данни, ако транзакцията не завърши успешно в която и да е операция, всички операции в транзакцията трябва да бъдат върнати назад, обратно към състоянието преди изпълнението на транзакцията; в същото време транзакцията няма ефект върху базата данни или извършва други транзакции, цялата транзакция изглежда се изпълнява независимо.

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

Модели на транзакция на база данни

явна транзакция

явна транзакция, известна като дефинирана транзакция, която е дефинирано начало и край на транзакцията с явен начин изрична транзакция, когато се използва начална транзакция и изявление за ангажиране каза, че се е случило.

имплицитна транзакция

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

Автоматична транзакция

се отнася до автоматична транзакция, която се включва автоматично и автоматично прекратява транзакцията. По време на транзакцията, ако не възникне изключение, транзакцията автоматично се регистрира; когато възникне грешка при изпълнение, транзакцията автоматично се връща назад.

предимство

транзакционният достъп до базата данни има следните предимства:

1, свързаните логически операции в група;

2, преди постоянна промяна в данните, данните за предварителен преглед могат да се променят;

3, прочетете, за да осигурите последователност на данните.

Related Articles
TOP