Eksplorowanie przetwarzania danych transakcyjnych
Transakcyjny system przetwarzania danych jest tym, co większość osób uważa za podstawową funkcję przetwarzania danych biznesowych. System transakcyjny rejestruje transakcje , które hermetyzują określone zdarzenia, które organizacja chce śledzić. Transakcja może być finansowa, taka jak przepływ pieniędzy między kontami w systemie bankowym, lub może być częścią systemu handlu detalicznego, śledzenie płatności za towary i usługi od klientów. Transakcję można traktować jako małą, odrębną jednostkę pracy.
Systemy transakcyjne często przetwarzają duże ilości danych, niekiedy wiele milionów transakcji w ciągu jednego dnia. Przetwarzane dane muszą być szybko dostępne. Praca wykonywana przez systemy transakcyjne jest często określana jako przetwarzanie OLTP (przetwarzanie transakcyjne w trybie online).
Rozwiązania OLTP korzystają z systemu bazodanowego, w którym przestrzeń danych jest optymalizowana pod kątem operacji odczytywania i zapisywania, aby obsłużyć obciążenia transakcyjne, w których dane są tworzone, pobierane, aktualizowane i usuwane (często nazywane operacjami CRUD). Te operacje są stosowane transakcyjnie w sposób zapewniający integralność danych przechowywanych w bazie danych.
Aby zobrazować poniższe właściwości, wyobraź sobie przelew bankowy w wysokości 40 USD z konta A (saldo początkowe: 100 USD) na konto B (saldo początkowe: 50 USD): system musi obciążyć konto A i uznać konto B w ramach jednej, niezawodnej operacji.
W tym celu systemy OLTP wymuszają stosowanie transakcji zapewniających zgodność z tzw. semantyką ACID:
- Niepodzielność — każda transakcja jest traktowana jako pojedyncza jednostka, która kończy się powodzeniem całkowicie lub kończy się niepowodzeniem. Na przykład transakcja, która obejmowała obciążanie środków z jednego konta i kredytowanie tej samej kwoty na inne konto, musi wykonać obie akcje. Jeśli nie można ukończyć żadnej akcji, inna akcja musi zakończyć się niepowodzeniem.
- Spójność — transakcje mogą przyjmować tylko dane w bazie danych z jednego prawidłowego stanu do innego. Aby kontynuować przykład debetowy i kredytowy powyżej, ukończony stan transakcji musi odzwierciedlać przeniesienie funduszy z jednego konta do drugiego.
- Izolacja — transakcje współbieżne nie mogą zakłócać siebie i muszą powodować spójny stan bazy danych. Na przykład, gdy transakcja do przeniesienia funduszy z jednego konta do innego jest w trakcie przetwarzania, inna transakcja, która sprawdza saldo tych kont, musi zwrócić spójne wyniki — transakcja sprawdzająca saldo nie może pobrać wartości dla jednego konta, które odzwierciedla saldo przed przeniesieniem, oraz wartość drugiego konta, które odzwierciedla saldo po przeniesieniu.
- Trwałość — po zatwierdzeniu transakcji pozostanie ona zatwierdzona. Po zakończeniu transakcji transferu konta poprawione salda kont są utrwalane, tak aby nawet jeśli system bazy danych miał zostać wyłączony, zatwierdzona transakcja zostanie odzwierciedlona po ponownym włączeniu.
Systemy OLTP są zwykle używane do obsługi aplikacji na żywo, które przetwarzają dane biznesowe — często nazywane aplikacjami biznesowymi (LOB).