Transakcje w bazach danych

Czas czytania: 2 min.

Transakcje to jeden z kluczowych mechanizmów wykorzystywanych w bazach danych. Umożliwiają wykonywanie serii operacji, traktując je jako jedną całość. Wszystkie muszą zakończyć się sukcesem. Jeżeli choć jedna z nich nie może zostać wykonana, cała transakcja jest wycofywana. Transakcje zapewniają zatem utrzymanie integralności danych w bazie.

Czym tak naprawdę są transakcje?

Najlepszym i najprostszym przykładem transakcji jest transakcja bankowa pomiędzy dwoma kontami. Załóżmy, że chcemy przelać kwotę X z konta A na konto B. Dokonujemy polecenia przelewu na koncie A, a zatem stan konta zmniejsza się o kwotę X. Następną operacją powinno być więc zwiększenie stanu konta B o kwotę X. Co jeżeli pomiędzy tymi operacjami nastąpi awaria systemu? Pieniądze zniknęły – nie ma ich ani na jednym, ani na drugim koncie. Ich właściciele z pewnością nie byliby zadowoleni.

Z pomocą przychodzą transakcje w bazach danych, które nie dopuszczają do takich sytuacji.

Cechy transakcji w bazie danych

Transakcje w bazie danych muszą spełniać założenia ACID (skrót ten pochodzi od pierwszych liter kolejnych cech):

A – Atomicity (Atomowość) – mówi o tym, że wszystkie operacje wykonywane w transakcji mają być zatwierdzone, a w przypadku błędu choć jednej z nich – wszystkie wycofane.

C – Consistency (Spójność) – oznacza, że niezależnie od tego, czy transakcja zostanie zatwierdzona, czy wycofana, informacje przechowywane w bazie danych pozostaną spójne.

I – Isolation (Izolacja) – mówi o tym, że wykonywane w tym samym czasie różne transakcje nie mogą na siebie wpływać. Istnieją różne poziomy izolacji.

D – Durability (Trwałość) – zapewnia zachowanie efektów zatwierdzonych transakcji, na przykład w przypadku awarii sprzętowych.

Transakcję w bazie danych rozpoczyna się poleceniem BEGIN TRANSACTION, zatwierdza poleceniem COMMIT TRANSACTION oraz wycofuje się poleceniem ROLLBACK TRANSACTION.

Transakcje mogą jednak wpływać na wydajność bazy danych. Ich liczba i złożoność może znacznie spowolnić działanie systemu, dlatego ich implementacja musi być dobrze przemyślana i zaplanowana.

Podsumowanie

Transakcje są więc rozwiązaniem wielu problemów, szczególnie w złożonym systemie bazodanowym. Umiejętność posługiwania się nimi jest podstawowa nawet dla początkującego dewelopera. W tym artykule przedstawione zostały jedynie podstawy wiedzy o transakcjach, jednak to od nich warto zacząć.

Facebook
Twitter
LinkedIn

Kontakt

Sprzedaż

+48 571 947 256

sprzedaz@polarysgroup.com

Biuro

+48 789 189 061

office@polarysgroup.com

Polarys Polska Sp. z o.o.
ul. Rakowicka 1/20-21
31-511 Kraków

Kontakt

Ola Wojdyła

Kontakt

Wspieramy firmy o każdej wielkości
i z każdej branży.

Pomożemy ci w doborze odpowiedniej technologii i rozwiązań, aby zwiększyć przejrzystość procesów twojej organizacji i opracować nowe cyfrowe modele biznesowe. 

Zespół naszych ekspertów czeka na twoje pytania.

Po wysłaniu formularza skontaktujemy się z tobą w ciągu dwóch dni, aby porozmawiać o twoich potrzebach.

Zaufali nam: