Co to jest transakcja autonomiczna?
Autonomiczna transakcja jest rodzajem transakcji stosowanej w linii oprogramowania bazodanowego Oracle®. W najprostszym tego słowa znaczeniu, autonomiczna transakcja to transakcja, która występuje i kończy się w ramach innej transakcji. Podczas transakcji autonomicznych oprogramowanie komputerowe wstrzymuje przetwarzanie oryginalnej transakcji, rozgałęzia się w celu odzyskania informacji lub zakończenia procesu wymaganego przez transakcję autonomiczną. Po uzyskaniu wyniku dla transakcji autonomicznej rozpoczyna dokładnie od miejsca, w którym przerwał przetwarzanie pierwotnej transakcji.
Transakcje autonomiczne są zwykle używane, gdy operator bazy danych chce rozbić bardziej złożoną transakcję na części składowe. Na przykład jeśli operator bazy danych chce sporządzić listę wszystkich pracowników, którzy zarabiają ponad 60 000 USD rocznie (USD), a następnie chce podzielić tę listę tylko na pracowników poniżej 30 roku życia, skorzystanie z autonomicznej transakcji pozwalają operatorowi podzielić żądanie na dwie części. Po pierwsze, komputer zbiera listę wszystkich pracowników, którzy zarabiają 60 000 USD. W trakcie tej operacji rozpatrzy drugą część wniosku o zakończenie autonomicznej transakcji, wybierając tylko tych pracowników z listy 60 000 USD lub więcej, którzy nie ukończyli jeszcze 30 lat.
Jedną z głównych zalet autonomicznych transakcji jest to, że zapewniają one większą prostotę podczas wywoływania operacji na bazie danych. Rozbijając elementy na części składowe, operator bazy danych może łatwiej wizualizować każdy etap procesu, ułatwiając kodowanie rzeczywistego żądania. Drugą zaletą autonomicznych transakcji jest to, że można je zagnieżdżać; wykwalifikowany operator bazy danych może zaprogramować transakcję wywołującą transakcję autonomiczną, przy czym transakcja autonomiczna wywołuje dowolną liczbę dodatkowych transakcji autonomicznych. Znacząco poprawia to elastyczność oprogramowania transakcyjnego Oracle, umożliwiając łatwe kodowanie bardziej złożonych transakcji.
Każda transakcja występująca w programie jest śledzona przez samo oprogramowanie do celów kontrolnych. Umożliwia to osobom przeglądającym transakcje, których zażądano z bazy danych. Pisanie transakcji w formie autonomicznej może pomóc uprościć procedurę kontroli, ponieważ o wiele łatwiej jest zrozumieć szereg kolejnych prostych transakcji niż pojedynczą złożoną instrukcję.