Ce este OLTP?

Definiția OLTP

OLTP sau procesarea online a tranzacțiilor este un tip de procesare a datelor care constă în executarea unei serii de tranzacții care au loc simultan – banking online, cumpărături, înregistrarea comenzilor sau trimiterea mesajelor text, de exemplu. În mod tradițional, aceste tranzacții sunt denumite tranzacții economice sau financiare, înregistrate și securizate astfel încât o companie să poată accesa informațiile oricând în scopuri contabile sau de raportare.

În trecut, OLTP s-a limitat la interacțiunile din lumea reală prin care s-au efectuat schimburi – bani, produse, informații, cereri de servicii și așa mai departe. Însă, definiția tranzacției în acest context s-a extins de-a lungul anilor, în special de la apariția internetului, pentru a cuprinde orice tip de interacțiune digitală sau de implicare cu o afacere care poate fi declanșată de oriunde din lume și prin orice senzor conectat la internet. De asemenea, aceasta include orice tip de interacțiune sau acțiune, cum ar fi descărcarea PDF-urilor pe o pagină web, vizualizarea unui anumit videoclip, declanșarea automată a unor activități de mentenanță sau comentarii pe canalele de socializare, care pot fi esențiale pentru ca o companie să se înregistreze pentru a-și deservi mai bine clienții.


Definiția principală a tranzacțiilor – economice sau financiare – rămâne baza pentru majoritatea sistemelor OLTP, astfel încât procesarea tranzacțiilor online implică de obicei introducerea, actualizarea și/sau ștergerea unor cantități mici de date dintr-o bază de date, pentru colectarea, administrarea și securizarea acestor tranzacții. De obicei, o aplicație web, mobilă sau enterprise urmărește toate interacțiunile sau tranzacțiile cu clienții, furnizorii sau partenerii și le actualizează în baza de date OLTP. Aceste date ale tranzacției, stocate în baza de date, sunt esențiale pentru companii și sunt utilizate pentru raportare sau analizate pentru luarea deciziilor bazate pe date.

Aflați cum au reușit alte companii, precum Retraced, Parcul arheologic Pompeii, Jasci sau Siemens să-și dezvolte fluxurile de lucru de procesare a tranzacțiilor în cloud.

De regulă, companiile au două tipuri de funcționalități pentru procesarea datelor: OLTP și OLAP.

OLTP comparativ cu OLAP

Deși sună similar și ambele sunt sisteme de procesare a datelor online, există o diferență semnificativă între cele două.

OLTP permite executarea în timp real a unui număr mare de tranzacții cu un număr mare de persoane, în timp ce procesarea analitică online (OLAP) presupune, de obicei, interogarea acestor tranzacții (denumite și înregistrări) într-o bază de date în scopuri analitice. OLAP ajută companiile să extragă informații din datele tranzacțiilor lor, astfel încât acestea să le poată utiliza pentru a lua decizii mai informate.

Tabelul de mai jos prezintă comparația dintre sistemele OLTP și OLAP.

Sisteme OLTP

Sisteme OLAP

Permiteți execuția în timp real a unui număr mare de tranzacții din baza de date, cu un număr mare de persoane

De regulă, implică interogarea multor înregistrări (chiar toate înregistrările) dintr-o bază de date în scopuri analitice

Necesită timp de răspuns ultra-rapid

Necesită timpi de răspuns care sunt comenzi de mărime mai mică decât cele solicitate de OLTP

Modificați frecvent volume mici de date și, de obicei, implică un echilibru între citiri și scrieri

Nu modificați deloc datele; fluxurile de lucru sunt de obicei consumatoare de operațiuni de citire

Utilizați date indexate pentru a îmbunătăți timpii de răspuns

Stocați datele în format editorial pentru a permite accesul ușor la un număr mare de înregistrări

Necesită backupuri frecvente sau simultane ale bazei de date

Necesită backupul bazei de date mult mai puțin frecvent

Necesită un spațiu de stocare relativ mic

De regulă, au cerințe semnificative pentru spațiul de stocare, deoarece stochează cantități mari de date istorice

De regulă, rulați interogări simple care implică doar una sau câteva înregistrări

Rulați interogări complexe care implică un număr mare de înregistrări

Deci, OLTP este un sistem de modificare a datelor online, în timp ce OLAP este un sistem de stocare a datelor multidimensionale istorice online, utilizat pentru a prelua date cu sume mari în scop analitic. OLAP furnizează de obicei analize referitoare la datele care au fost colectate de unul sau mai multe sisteme OLTP.

Cerințele unui sistem OLTP

Arhitectura cea mai comună a unui sistem OLTP care utilizează date tranzacționale este o arhitectură pe trei niveluri, care constă de obicei dintr-un nivel de prezentare, un nivel de logică de afaceri și un nivel de stocare a datelor. Nivelul de prezentare este front-end, unde tranzacția provine dintr-o interacțiune umană sau este generată de sistem. Nivelul logic constă din reguli care verifică tranzacția și asigură disponibilitatea tuturor datelor necesare pentru finalizarea acesteia. Nivelul de stocare a datelor stochează tranzacția și toate datele corelate cu aceasta.

Principalele caracteristici ale unui sistem de prelucrare a tranzacțiilor online sunt următoarele:

  • Conformitatea ACID: sistemele OLTP trebuie să se asigure că întreaga tranzacție este înregistrată corect. O tranzacție este de obicei o execuție a unui program care poate necesita execuția mai multor etape sau operațiuni. Poate fi finalizată atunci când toate părțile implicate confirmă tranzacția sau atunci când produsul/serviciul este livrat sau când se efectuează un anumit număr de actualizări în tabelele specifice din baza de date. O tranzacție este înregistrată corect numai dacă toți pașii implicați sunt executați și înregistrați. Dacă există erori în oricare dintre pași, întreaga tranzacție trebuie abandonată și toți pașii trebuie șterși din sistem. Astfel, sistemele OLTP trebuie să respecte proprietățile atomice, consecvente, izolate și durabile (ACID), pentru a asigura precizia datelor din sistem.
    • Atomic: controalele de atomicitate garantează că toți pașii dintr-o tranzacție sunt finalizați cu succes ca grup. Adică, dacă orice pas nu reușește între tranzacții toți ceilalți pași trebuie, de asemenea, să nu reușească sau să fie restabiliți. Finalizarea cu succes a unei tranzacții este denumită confirmare. Eroarea unei tranzacții este denumită abandonare.
    • Consecvență: tranzacția păstrează consecvența internă a bazei de date. Dacă executați o singură tranzacție într-o bază de date care este inițial consecventă, după finalizarea execuției, rularea bazei de date devine din nou consecventă.
    • Izolare: tranzacția se efectuează ca în cazul în care ar rula singură, fără alte tranzacții. Cu alte cuvinte, efectul rulării unui set de tranzacții este același cu cel al rulării lor simultane. Acest comportament este denumit serializabilitate și este de obicei implementat prin blocarea rândurilor specifice din tabel.
    • Durabilitate: rezultatele tranzacției nu se vor pierde în caz de eroare.
  • Simultaneitate: sistemele OLTP pot avea un număr foarte mare de utilizatori, iar mulți dintre aceștia accesează simultan aceleași date. Sistemul trebuie să se asigure că toți acești utilizatori care încearcă să citească sau să scrie în sistem pot face acest lucru în mod simultan. Controalele de simultaneitate garantează că doi utilizatori care accesează aceleași date în sistemul bazei de date în același timp nu vor putea modifica aceste date sau că un utilizator trebuie să aștepte până când celălalt finalizează procesarea, înainte de a modifica acea informație.
  • Scalabilitate: sistemele OLTP trebuie să poată scala în sus și în jos instantaneu pentru a gestiona volumul tranzacțiilor în timp real și pentru a executa tranzacțiile simultan, indiferent de numărul de utilizatori care încearcă să acceseze sistemul.
  • Disponibilitate: un sistem OLTP trebuie să fie întotdeauna disponibil și întotdeauna pregătit pentru acceptarea tranzacțiilor. Pierderea unei tranzacții poate conduce la pierderea de venituri sau poate avea implicații juridice. Deoarece tranzacțiile pot fi efectuate de oriunde în lume și în orice moment, sistemul trebuie să fie disponibil 24/7.
  • Debit mare și timp scurt de răspuns: sistemele OLTP trebuie să aibă timpi de răspuns de ordinul nanosecundelor sau chiar mai mici, pentru a asigura productivitatea utilizatorilor enterprise și pentru a îndeplini cerințele în continuă creștere ale clienților.
  • Fiabilitate: sistemele OLTP citesc și gestionează de obicei volume foarte selective, cu cantități mici de date. Este esențial ca, în orice moment, datele din baza de date să fie fiabile și de încredere pentru utilizatorii și aplicațiile care le accesează.
  • Securitate: deoarece aceste sisteme stochează date extrem de sensibile despre tranzacțiile clienților, securitatea datelor este esențială. Orice încălcare poate fi foarte costisitoare pentru companie.
  • Recuperabilitate: sistemele OLTP trebuie să ofere posibilitatea de recuperare în cazul unei erori hardware sau software.

Baze de date pentru fluxuri de lucru OLTP

Bazele de date relaționale au fost create special pentru aplicațiile tranzacționale. Acestea conțin toate elementele esențiale necesare pentru stocarea și procesarea volumelor mari de tranzacții, fiind în același timp actualizate continuu cu noi caracteristici și funcționalități pentru extragerea unei valori mai mari din aceste date bogate privind tranzacțiile. Bazele de date relaționale sunt create de la zero pentru a oferi cea mai mare disponibilitate posibilă și cea mai rapidă performanță. Acestea asigură simultaneitate și conformitate ACID, astfel încât datele să fie exacte, întotdeauna disponibile și ușor accesibile. Ele stochează datele în tabele după extragerea relațiilor dintre acestea, astfel încât datele să poată fi utilizate de orice aplicație, asigurând o singură sursă de informații reale.

Evoluția bazelor de date pentru procesarea tranzacțiilor

Pe măsură ce tranzacțiile au devenit din ce în ce mai complexe, provenind din orice sursă sau dispozitiv, de oriunde din lume, bazele de date relaționale tradiționale nu au mai fost suficient de avansate pentru a satisface cerințele fluxurilor de lucru tranzacționale moderne. Acestea au trebuit să evolueze pentru a gestiona tranzacțiile moderne, datele eterogene, scalarea globală și, cel mai important, pentru a rula fluxuri de lucru mixte. Bazele de date relaționale s-au transformat în baze de date multimodale, care stochează și procesează nu doar date relaționale, ci și alte tipuri de date, inclusiv xml, html, JSON, Apache Avro și Parquet, precum și documente în forma lor nativă, fără multe transformări. De asemenea, bazele de date relaționale au nevoie de adăugarea mai multor funcționalități, cum ar gruparea în clustere și monitorizarea, pentru a putea fi distribuite global și a se scala la infinit, pentru a stoca și procesa volume tot mai mari de date și pentru a utiliza sisteme de stocare mai ieftine, disponibile în cloud. Cu alte funcționalități incluse precum analizele în memorie, analizele avansate, vizualizarea și cozile de evenimente pentru tranzacții, aceste baze de date pot rula acum mai multe fluxuri de lucru – cum ar fi rularea analizelor pentru datele tranzacțiilor, procesarea streamingului (Internet of Things (IoT)) sau rularea analizelor spațiale și grafice.

Bazele de date relaționale moderne create în cloud automatizează multe dintre aspectele operaționale și de management ale bazei de date, facilitând furnizarea și utilizarea acestora de către utilizatori. Acestea oferă procese automatizate de asigurare a accesului, securitate, recuperare, backup și scalare, astfel încât administratorii bazelor de date și echipele IT să aloce mult mai puțin timp pentru a le întreține. De asemenea, utilizează inteligența pentru a regla și indexa automat datele, astfel încât performanțele interogărilor bazei de date să fie consecventă indiferent de volumul de date, de numărul de utilizatori simultani sau de complexitatea interogărilor. Aceste baze de date în cloud includ și funcționalități cu autoservire și interfețe API REST, astfel încât dezvoltatorii și analiștii să poată accesa și utiliza cu ușurință datele. Acest lucru simplifică dezvoltarea aplicațiilor, oferind flexibilitate și facilitând crearea de noi funcționalități și personalizări în aplicațiile lor. De asemenea, simplifică analizele, facilitând utilizarea datelor pentru colectarea informațiilor de către analiști și experții în date.

Cum să selectați baza de date potrivită pentru fluxul dvs. de lucru OLTP

Deoarece departamentul IT se străduiește să țină pasul cu viteza afacerilor, este important ca atunci când alegeți o bază de date operațională, să vă gândiți la cerințele imediate și pe termen lung privind datele. Pentru stocarea tranzacțiilor, întreținerea sistemelor de înregistrări sau managementul conținutului, veți avea nevoie de o bază de date cu o simultaneitate mare, un debit ridicat, o latență scăzută și caracteristici esențiale pentru desfășurarea activității, cum ar fi disponibilitatea ridicată, protecția datelor și recuperarea în caz de dezastru. Cel mai probabil, fluxul dvs. de lucru va fluctua pe parcursul zilei, săptămânii sau al anului, astfel încât scalarea automată a bazei de date vă va ajuta să economisiți multe cheltuieli. De asemenea, s-ar putea să fie necesar să decideți dacă utilizați o bază de date creată special sau o bază de date de uz general. Dacă cerințele dvs. privesc un anumit tip de date, o bază de date creată special poate funcționa pentru dvs., dar asigurați-vă că nu sunt afectate niciuna dintre celelalte caracteristici de care aveți nevoie. Crearea acestor caracteristici va fi costisitoare și consumatoare de resurse într-o etapă ulterioară a nivelului de aplicații. De asemenea, dacă cerințele dvs. de date cresc și doriți să extindeți funcționalitatea aplicației dvs., adăugarea mai multor baze de date cu un singur scop sau mai adecvate, va crea doar silozuri de date și va amplifica problemele de gestionare a acestora. Trebuie să luați în considerare și alte funcționalități care pot fi necesare pentru fluxurile dvs. specifice de lucru, de exemplu, cerințele privind colectarea datelor, de push-down computing și dimensiunea la limită.

Selectați un serviciu de baze de date în cloud, care vă asigură viitorul, cu funcționalități de autoservire, care va automatiza tot managementul datelor, astfel încât consumatorii de date, analiștii, inginerii de date, experții în date și administratorii bazelor de date să poată face mai multe cu acestea și să accelereze dezvoltarea aplicațiilor.

Aflați mai multe despre Oracle Autonomous Transaction Processing Database, serviciul OLTP în cloud pentru bazele de date. Încercați gratuit.