OLTP (Online Transaction Processing) to system przetwarzania danych polegający na wykonywaniu wielu transakcji odbywających się jednocześnie, co ma miejsce na przykład w bankowości internetowej, w handlu detalicznym, podczas składania zamówień lub przy wysyłaniu wiadomości tekstowych. Transakcje te (tradycyjnie określane jako transakcje gospodarcze lub finansowe) są rejestrowane i zabezpieczane w taki sposób, aby przedsiębiorstwo mogło w każdej chwili uzyskać do nich dostęp w celach księgowych lub sprawozdawczych.
Dawniej system OLTP ograniczał się do transakcji wymiennych w świecie rzeczywistym (wymieniano na przykład pieniądze, produkty, informacje, zamówienia na usługi itp.). Z biegiem lat, zwłaszcza od momentu pojawienia się Internetu, definicja transakcji w tym kontekście uległa rozszerzeniu i obejmuje każdy rodzaj cyfrowej interakcji (zaangażowanie) z przedsiębiorstwem, która może być zainicjowana z dowolnego miejsca na świecie i za pomocą dowolnego czujnika podłączonego do sieci. Definicja ta obejmuje również wszelkiego rodzaju interakcje, działania, takie jak pobieranie plików PDF ze strony internetowej, oglądanie określonych filmów, wyzwalacze automatycznej obsługi lub komentarze na kanałach społecznościowych, których rejestrowanie może mieć kluczowe znaczenie dla przedsiębiorstwa lub posłużyć jego klientom.
Podstawowa definicja transakcji — gospodarczej lub finansowej — pozostaje podstawą większości systemów OLTP, przetwarzanie transakcji online polega zatem zazwyczaj na wstawianiu, aktualizowaniu lub usuwaniu niewielkich ilości danych w magazynie danych w celu zbierania i zabezpieczania tych transakcji oraz zarządzania nimi. Zazwyczaj aplikacja internetowa, mobilna lub korporacyjna śledzi wszystkie te interakcje (transakcje) z klientami, dostawcami lub partnerami i aktualizuje je w bazie danych OLTP. Takie dane transakcyjne przechowywane w bazie danych mają kluczowe znaczenie dla przedsiębiorstw i służą do sporządzania raportów lub prowadzenia analiz w celu podejmowania trafniejszych decyzji.
Sprawdź, jak firma Retraced, Park Archeologiczny Pompei, firma Jasci lub firma Siemens z korzyścią przeniosły swoje procesy OLTP do chmury.
Przedsiębiorstwa mają zazwyczaj do wyboru dwa systemy przetwarzania danych: OLTP i OLAP.
O ile nazwy te są podobne, a oba systemy służą do przetwarzania danych online, istnieje między nimi zasadnicza różnica.
System OLTP umożliwia wykonywanie w czasie rzeczywistym dużej liczby transakcji przez dużą liczbę osób, natomiast system przetwarzania analitycznego online (OLAP) polega zazwyczaj na wykonywaniu zapytań dotyczących tych transakcji (zwanych też rekordami) w bazie danych do celów analitycznych. System OLAP pomaga przedsiębiorstwu pozyskiwać informacje z danych transakcyjnych w celu podejmowania na ich podstawie trafniejszych decyzji.
W poniższej tabeli porównano systemy OLTP i OLAP.
System OLTP |
System OLAP |
Umożliwia wykonywanie w czasie rzeczywistym dużej liczby transakcji bazodanowych przez dużą liczbę osób |
Zazwyczaj wykonuje zapytania dotyczące wielu rekordów (nawet wszystkich rekordów) w bazie danych do celów analitycznych |
Wymaga błyskawicznych czasów reakcji |
Nie wymaga błyskawicznych czasów reakcji (reaguje o rząd wielkości wolniej niż system OLTP) |
Często modyfikuje małe ilości danych i zazwyczaj dokonuje tyle samo odczytów, co zapisów danych |
Nie modyfikuje danych w żadnym stopniu, występuje tu zdecydowana przewaga operacji odczytu |
Używa indeksowanych danych w celu skrócenia czasu odpowiedzi |
Przechowywanie danych w formacie kolumnowym, aby zapewnić łatwy dostęp do dużej liczby rekordów |
Wymaga częstego lub równoczesnego wykonywania kopii zapasowych bazy danych |
Wymaga znacznie rzadszego tworzenia kopii zapasowych bazy danych niż system OLTP |
Wymaga stosunkowo niewiele miejsca do przechowywania danych |
Zazwyczaj ma duże wymagania dotyczące miejsca do przechowywania danych, ponieważ ma duże ilości danych historycznych |
Zazwyczaj obsługuje proste zapytania dotyczące tylko jednego lub kilku rekordów |
Obsługuje złożone zapytania obejmujące dużą liczbę rekordów |
OLTP to zatem system modyfikacji danych online, natomiast OLAP to system przechowywania historycznych danych wielowymiarowych online, który umożliwia pobieranie dużych ilości danych do celów analitycznych. System OLAP zazwyczaj udostępnia narzędzia do analizy danych zarejestrowanych przez co najmniej jeden system OLTP.
Najbardziej rozpowszechnioną architekturą systemu OLTP jest architektura trójwarstwowa, która zazwyczaj obejmuje warstwę prezentacji, warstwę logiki biznesowej i warstwę magazynu danych. Warstwa prezentacji to warstwa obsługi użytkownika, gdzie dana transakcja powstaje w wyniku interakcji człowieka lub działania systemu. Warstwa logiki biznesowej obejmuje reguły, służące do weryfikacji transakcji i zapewnienia dostępności wszystkich danych wymaganych do jej realizacji. Warstwa magazynu danych służy do przechowywania transakcji i wszystkich związanych z nią danych.
Wśród głównych cech systemu OLTP można wymienić m.in.:
Relacyjne bazy danych powstały specjalnie z myślą o obsłudze transakcji. Z tego względu zawierają wszystkie podstawowe elementy wymagane do przechowywania i przetwarzania dużych ilości transakcji, a jednocześnie są stale wzbogacane o nowe cechy i funkcje służące uzyskiwaniu jeszcze większych korzyści z dostępnych danych transakcyjnych. Relacyjne bazy danych są od podstaw projektowane pod kątem zapewnienia jak największej dostępności i jak największej wydajności. Umożliwiają współbieżne przetwarzanie danych i są zgodne z podejściem ACID, dzięki czemu zawarte w nich dane są dokładne, zawsze dostępne i łatwe do znalezienia. Po określeniu relacji między danymi dane są zapisywane w tabelach, aby mogła z nich korzystać dowolna aplikacja. W tyn sposób stają się wiarygodnym źródłem danych.
W miarę wzrostu złożoności i liczby źródeł pochodzenia transakcji tradycyjne relacyjne bazy danych w coraz mniejszym stopniu spełniały wymogi współczesnych procesów transakcyjnych. Konieczne stało się zatem opracowanie nowych rozwiązań, które byłyby zdolne do obsługi współczesnych transakcji, heterogenicznych danych i działań realizowanych na skalę globalną, a przede wszystkim do obsługi mieszanych procesów transakcyjnych. Relacyjne bazy danych zostały zatem przekształcone w multimodalne bazy danych, które przechowują i przetwarzają nie tylko dane relacyjne, ale także wszystkie inne typy danych, w tym dane w formatach xml, html, JSON, Apache Avro i Parquet, oraz dokumenty w ich natywnej postaci, bez konieczności dokonywania wielu transformacji. Relacyjne bazy danych musiały być ponadto wyposażone w dodatkowe funkcje, takie jak klastrowanie i fragmentowanie, aby mogły być rozproszone globalnie i skalowane w nieskończoność w celu przechowywania i przetwarzania coraz większych ilości danych oraz wykorzystania tańszej pamięci masowej dostępnej w chmurze. Dzięki innym funkcjom, takim jak pamięć wewnętrzna, zaawansowana analityka, wizualizacja i kolejkowanie zdarzeń transakcyjnych, bazy te mogą obecnie obsługiwać wiele procesów, w tym analizować dane transakcyjne, przetwarzać dane strumieniowe (Internet Rzeczy) oraz wykonywać analizy przestrzenne i wykresowe.
Nowoczesne relacyjne bazy danych tworzone w chmurze automatyzują wiele operacyjnych i zarządczych aspektów bazy danych, dzięki czemu użytkownicy mogą łatwiej je przydzielać i z nich korzystać. Udostępniają również funkcje automatycznego przydzielania zasobów, bezpieczeństwa, odzyskiwania po awarii, tworzenia kopii zapasowych i skalowania, dzięki czemu administratorzy i pracownicy działu IT mogą przeznaczać mniej czasu na ich utrzymanie. Ponadto mają wbudowane mechanizmy sztucznej inteligencji, aby automatycznie dostrajać i indeksować dane, dzięki czemu wydajność obsługi zapytań przesyłanych do bazy danych jest stała, niezależnie od ilości danych, liczby współbieżnych użytkowników czy złożoności zapytań. Chmurowe bazy danych zawierają również funkcje samoobsługowe i interfejsy API REST, dzięki którym programiści i analitycy mogą łatwo używać i uzyskiwać dostęp do danych. Upraszcza to rozwój aplikacji, zapewniając odpowiednią elastyczność i ułatwiając wprowadzanie w nich nowych funkcji i dostosowań. Upraszcza także procesy analizy danych.
Dział IT stara się dotrzymać tempa działalności biznesowej, przy wyborze operacyjnej bazy danych należy zatem uwzględnić zarówno bieżące potrzeby, jak i długoterminowe wymagania dotyczące danych. Do przechowywania danych transakcyjnych, prowadzenia systemów ewidencji lub zarządzania treścią potrzebna jest baza danych zapewniająca dużą współbieżność, wysoką przepustowość, małe opóźnienia i inne funkcje o znaczeniu krytycznym, takie jak wysoka dostępność, ochrona danych i odzyskiwanie danych po awarii. Najprawdopodobniej liczba przetwarzanych procesów będzie się zmieniać w ciągu dnia, tygodnia lub roku, warto zatem zadbać o to, aby baza danych mogła być automatycznie skalowana, co pozwoli zaoszczędzić sporo wydatków. Należy również zdecydować, czy używać bazy specjalistycznej czy bazy ogólnego przeznaczenia. Jeśli wymagania dotyczą obsługi konkretnego typu danych, może się sprawdzić baza danych zbudowana specjalnie w tym celu, należy się jednak upewnić, że nie odbywa się to kosztem innych potrzebnych funkcji. Dodanie tych funkcji na późniejszym etapie w warstwie aplikacji byłoby kosztowne i zasobochłonne. Jeśli potrzeby w zakresie danych będą rosły i konieczna będzie rozbudowa funkcjonalności aplikacji, dodawanie kolejnych jednofunkcyjnych lub dopasowanych do potrzeb baz danych spowoduje jedynie powstanie silosów danych i pogłębi problemy związane z zarządzaniem danymi. Należy również wziąć pod uwagę inne funkcje, które mogą okazać się niezbędne w przypadku konkretnych procesów, na przykład funkcje pozyskiwania danych, optymalizacji mocy obliczeniowej i limitowania rozmiaru danych.
Warto zatem wybrać przyszłościową usługę bazodanową w chmurze z funkcjami samoobsługowymi, która zautomatyzuje zarządzanie danymi, aby użytkownicy danych — programiści, analitycy, inżynierowie danych, badacze danych i administratorzy baz danych — mogli lepiej korzystać z danych i szybciej rozwijać aplikacje.
Dowiedz się więcej o Oracle Autonomous Transaction Processing Database — usłudze bazodanowej OLTP w chmurze. Wypróbuj bezpłatnie.
Rozważasz zakup?
Zadzwoń do działu sprzedażyCzat z działem sprzedażyProblemy dotyczące kont, subskrypcji i promocji
Zacznij rozmowęPotrzebujesz asysty technicznej lub innego rodzaju pomocy?
Zobacz opcje pomocy