ACID Compliance: What It Means and Why You Should Care (Polski)

What is ACID Compliance?

Obecność czterech komponentów – atomowości, spójności, izolacji i trwałości – może zapewnić, że transakcja bazy danych zostanie zakończona w odpowiednim czasie. Gdy bazy danych posiadają te komponenty, mówi się, że są one zgodne z ACID. Ale czym właściwie jest zgodność z ACID i dlaczego powinieneś się tym przejmować? Przyjrzyjmy się temu:

Atomowość: Transakcje bazy danych, podobnie jak atomy, mogą być podzielone na mniejsze części. Jeśli chodzi o Twoją bazę danych, atomowość odnosi się do integralności całej transakcji bazy danych, a nie tylko jej części składowej. Innymi słowy, jeśli jedna część transakcji nie działa tak, jak powinna, to w rezultacie inne transakcje zawiodą – i na odwrót. Na przykład, jeśli robisz zakupy na stronie e-commerce, musisz mieć przedmiot w koszyku, aby za niego zapłacić. To, czego nie możesz zrobić, to zapłacić za coś, czego nie ma w koszyku. (Możesz dodać coś do koszyka i nie zapłacić za to, ale ta transakcja w bazie danych nie będzie kompletna, a więc nie będzie „atomowa”, dopóki za to nie zapłacisz).

Skonsekwencja: Aby jakakolwiek baza danych działała zgodnie ze swoim przeznaczeniem, musi przestrzegać odpowiednich reguł walidacji danych. Zatem spójność oznacza, że tylko dane, które są zgodne z tymi regułami, mogą być zapisywane w bazie danych. Jeśli wystąpi transakcja, której wynikiem są dane niezgodne z regułami bazy danych, zostanie ona „cofnięta” do poprzedniej iteracji samej siebie (lub „stanu”), która jest zgodna z tymi regułami. Z drugiej strony, po udanej transakcji, nowe dane zostaną dodane do bazy danych, a wynikowy stan będzie zgodny z istniejącymi regułami.

Izolacja: Można bezpiecznie powiedzieć, że w dowolnym momencie na Amazon, na platformie ma miejsce znacznie więcej niż jedna transakcja. W rzeczywistości, niewiarygodnie duża ilość transakcji bazodanowych odbywa się jednocześnie. Dla bazy danych, izolacja odnosi się do zdolności do równoczesnego przetwarzania wielu transakcji w taki sposób, że jedna nie wpływa na drugą. Wyobraź sobie więc, że Ty i Twój sąsiad próbujecie kupić coś na tej samej platformie e-commerce w tym samym czasie. Na sprzedaż jest 10 przedmiotów: Twój sąsiad chce pięć, a Ty chcesz sześć. Izolacja oznacza, że jedna z tych transakcji zostałaby zakończona przed drugą. Innymi słowy, jeśli Twój sąsiad kliknął jako pierwszy, otrzyma pięć przedmiotów, a tylko pięć przedmiotów pozostanie w magazynie. Więc będzie tylko dostać się do zakupu pięciu elementów. Jeśli kliknąłeś pierwszy, dostaniesz sześć przedmiotów, które chcesz, a oni dostaną tylko cztery. W ten sposób izolacja zapewnia, że jedenaście przedmiotów nie jest sprzedawanych, gdy istnieje tylko dziesięć.

Wytrzymałość: Wszystkie technologie zawodzą od czasu do czasu… celem jest sprawienie, aby te awarie były niewidoczne dla użytkownika końcowego. W bazach danych, które posiadają trwałość, dane są zapisywane po zakończeniu transakcji, nawet jeśli nastąpi przerwa w dostawie prądu lub awaria systemu. Wyobraź sobie, że kupujesz poszukiwane bilety na koncert na stronie podobnej do Ticketmaster.com. W momencie, gdy bilety trafiają do sprzedaży, jesteś gotowy do dokonania zakupu. Po utknięciu w cyfrowej poczekalni przez jakiś czas, w końcu jesteś w stanie dodać te bilety do koszyka. Następnie dokonujesz zakupu i otrzymujesz potwierdzenie. Jeśli jednak ta baza danych nie jest trwała, to nawet po potwierdzeniu zakupu biletu, jeśli baza danych ulegnie awarii, Twoja transakcja nadal będzie stracona! Jak można się spodziewać, jest to naprawdę zła rzecz, która może się przydarzyć witrynie e-commerce online, więc trwałość transakcji jest koniecznością.

ClustrixDB, baza danych NewSQL w chmurze, obecnie część MariaDB, posiada dodatkową korzyść w postaci zgodności z ACID, krytycznej dla sukcesu!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *