Przetwarzanie transakcyjne dziś

Systemy przetwarzania transakcyjnego to podstawa każdej aplikacji informatycznej.

Systemy przetwarzania transakcyjnego to podstawa każdej aplikacji informatycznej.

O hurtowniach danych mówi się na świecie coraz powszechniej od ok. 2 lat. Napisano na ten temat wiele artykułów i książek, zorganizowano wiele konferencji i wystaw. Każdy dostawca serwerów relacyjnych baz danych obwieszcza, że jego produkt lepiej niż produkt konkurencji nadaje się do obsługi hurtowni danych itd. Trochę zapomina się o najważniejszym - danych do zapełnienia tejże hurtowni. W prezentacjach ta sprawa pojawia się marginalnie: przyjmuje się jako rzecz oczywistą, że każdy potencjalny klient ma dowolną bazę danych (a jeszcze lepiej wiele baz) działającą od lat, w której nagromadziło się mnóstwo nie wykorzystanych danych. Nic bardziej błędnego, zwłaszcza w Polsce.

Niezależnie od stanu posiadania, podstawą każdego systemu informatycznego jest system przetwarzania transakcyjnego online (Online Transaction Processing - OLTP). Skierujmy więc uwagę na systemy transakcyjne. Dopóki nie będą one w pełni sprawne, dopóty nie będzie można efektywnie prowadzić podstawowej działalności gospodarczej.

Użytkownicy systemu przetwarzania transakcyjnego

Z punktu widzenia użytkownika system transakcyjny jest widoczny powierzchownie - jako aplikacja na biurko, pozwalająca na zapisanie danych, odczytanie potrzebnych informacji, zajrzenie do raportu miesięcznego z pełną świadomością, że dane są spójne, awaria sprzętowa ani programowa nie spowoduje ich uszkodzenia lub zniszczenia, stale dostępne i wiarygodne. Użytkownika nie interesują problemy administratora w zapewnieniu tego, co on uważa za oczywiste: stały dostęp do danych, krótki czas odpowiedzi - czekanie na odpowiedź dłużej niż kilka sekund dyskwalifikuje każdy system. Utrata zapisanych danych nawet z jednej, ostatniej transakcji to prawie katastrofa.

Niestety, to użytkownicy najczęściej są powodem przedłużającego się czasu oczekiwania na odpowiedź. Typowa sytuacja w banku: pracownik otwiera plik bazy danych klienta, blokując informacje o nim (i ewentualnie o innych klientach, zależnie od sposobu blokowania przez serwer bazy danych) innym użytkownikom bazy, i idzie na kawę. Robi wprawdzie dobre wrażenie na szefie - widać bowiem, że pracuje - ale skutecznie blokuje pracę innych użytkowników. Dawniej, gdy moc obliczeniowa nawet największych komputerów nie była duża, pojawiło się stwierdzenie: "Aplikacja jest w stanie rozłożyć na łopatki każdy system komputerowy". Jest ono prawdziwe i dzisiaj. Źle napisana aplikacja spowoduje, że najwydajniejsza baza danych będzie działała powoli i wystąpi wspomniana wyżej sytuacja blokowania dostępu do danych.

Wymagania systemu transakcyjnego

Pojedyncza transakcja to niewielkie obciążenie dla systemu. Dopiero suma wszystkich transakcji wykonywanych przez wielu użytkowników zaczyna sprawiać kłopoty zarówno projektantowi aplikacji, jak administratorom bazy danych i systemu komputerowego.

Wymagania pasma we/wy dysków. Największe kłopoty w projektowaniu systemu komputerowego do obsługi dużego ruchu transakcyjnego są związane z szybkością kanałów we/wy podsystemu dyskowego. Typowa transakcja wymaga odczytania z dysku jednej strony danych (część pliku o objętości od 2 do 64 kB, zależnie od właściwości serwera baz danych i sposobu współpracy z systemem operacyjnym), często serwery baz danych w celu przyśpieszenia operacji nie używają funkcji systemowych dostępu do dysków, ale same obsługują niesystemowe, "surowe" dyski.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200