muzruno.com

Какви са транзакциите? Системи за обработка на транзакции

В свят, в който всичко се променя толкова бързо, не можете да спрете за минута. Това важи и за получаване на нова информация. Неизвестен термин или най-новата версия на софтуерния продукт е извинение за попълване на знания в една или друга област. Днес ще говорим за това какви са транзакциите, как работи.

Въведение в терминологията

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

Определение на понятието

Това обозначение се използва във връзка с всеки продукт, в който се изпълнява работата с базата данни. Няколко операции, логично обединени в едно цяло и изпълнени последователно една след друга, и има сделка. В ежедневния живот една верига от сделки може да се разглежда като верига от процедури като "събудена - измита - облечена - закуска - отива на работа".

Нека разгледаме това понятие, използвайки примера на продуктите 1C. Транзакцията е същата неделима последователност от действия. Яркият пример може да служи като запис за единица стоки: отваряне на желаната директория, създаване на нов елемент, попълване на задължителните полета. За да могат всички тези действия да доведат до желания резултат, е необходимо те да бъдат спазвани стриктно от първото до последното. Само при това условие процедурата ще се счита за успешна. В противен случай транзакцията се анулира.

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

не може да завърши сигурна транзакция

Транзакции в 1C: тънкостите на вградения език

Какво представлява транзакцията в общия случай, разбираме. Но тъй като всяка софтуерна компания го прави по свой собствен начин, съществуват известни разлики между транзакциите като цяло и сделките в 1С по-специално. Например вградената (транзакция в една транзакция) в 1C не се поддържа.

От гледна точка на синтаксиса операторите на вградения език са доста прости. Началото на процеса се обявява с помощта на специалната процедура StartTransaction (). Процедурата за фиксирана транзакция () се използва за записване на промени по време на изпълнението на действия. Ако в хода на изпълнението е имало неуспех, има възможност да отмените транзакцията (), за да върнете обратно извършените промени.

Защо е за предпочитане използването на транзакциите? Тъй като кодът в тези процедури е много по-бърз. Това е, че всеки програмист се стреми. Разликата в скоростта може да не е толкова забележима, ако 1C потребители в офиса имат 1-2 служители, но не може да ви помогне да го почувствате, когато става дума за цели отдели, изпълняващи едновременно различни задачи в определената програма.

капани

В допълнение към очевидния плюс, състоящ се в сериозно увеличение скорост на четене и записва при работа с базата данни, транзакциите имат свое собствено минус. Да се ​​върнем към горния пример от живота. Какви са сделките, извършени не от едно лице, а от цялото семейство? Всеки се опитва да влезе в банята, за да се мие по-рано, всички се тълпят в кухнята, защото е време за закуска. В резултат на това членовете на семейството са недоволни един от друг. В най-добрия случай, това е само едно злощастно начало на деня, в най-лошия случай - късна работа, порицание от властите, разкъсани планове.

Програмата е една и съща. Ако всички потребители започват да редактират данните в един и същ документ едновременно, коя версия трябва да се счита за последната? Какви данни трябва да бъдат запазени преди това? За да се избегне такова объркване, има заключващ механизъм. Това означава, че докато един потребител работи върху документа, вторият е във виртуалната опашка и чака. След като транзакцията бъде завършена успешно или върната обратно, следващият потребител може да работи върху документа.1c транзакция

Да бъде или да не се контролира от ключалки?



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

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

По този начин, навременният анализ на транзакциите и правилното отношение към блокирането позволяват пълноценното използване на гъвкавостта на системата "1C: Enterprise" и оптимизирането на работата на базата данни, като се минимизират временните загуби.

системи за обработка на транзакции

Защо да доведете до прекомерно блокиране?

Въпросът изобщо не е реторичен. Ако премахнете необходимите брави, ще има объркване и хаос. В базата данни ще започнат да се натрупват неправилни данни поради едновременно отписване на салдата или обратно натрупване на активи. Но последствията са от такъв вид, които веднага няма да излязат наяве. Първият път, когато работата ще върви бързо, създавайки илюзията за верността на избора на отхвърляне на брави. От друга страна, неразумно голям брой брави веднага предизвикват съобщения за грешки. "Защитената транзакция не може да бъде завършена", системата ни предупреждава. Какво означава това? Две сделки взаимно се блокираха по такъв начин, че нито може да изпълни инициираното, нито да извърши анулирането. Огънят кръг от "мъртви" транзакции ще се окаже в базата данни преди откриването, което значително ще намали ефективността на системата.

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

Нива на изолация - друг начин да не се забърквате

Говорейки за това, какви са сделките, споменахме клопките. Продължавайки аналогията, можем уверено да кажем, че промяната на нивото на ключалки е надежден инструмент за пилота при пътуването през морето 1С. Има две нива на изолация: "само за четене, без запис" и "нито запис, нито четене". В автоматичен режим изборът не е налице. Но достатъчно е да превърнете приложението в управляван и можете да зададете интелигентни ограничения, като избирате не само важни документи, но и им придавате подходящо ниво на изолация.

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

концепция за транзакция

Обобщаване на общите резултати

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

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

Споделяне в социалните мрежи:

сроден