Kas yra operacijų apdorojimo sistema?

Sandorių apdorojimo sistema yra programa arba programinė įranga, apdorojanti visas operacijas, vykstančias į verslą ar įmonę ir iš jos. Sistema atlieka operacijas po vieną, pavyzdžiui, bankomatuose, kurie vienu metu leidžia tik vienam vartotojui. Sąvoka „sandoris“ šiuo atveju reiškia ne tik finansinius aspektus, bet ir visą informacijos užklausą, pavyzdžiui, skrydžio užsakymą ar tiesiog prisijungimą prie internetinės banko sąskaitos.

Tiesioginis sandorių apdorojimo sistemos kontrastas yra paketinio apdorojimo sistema. Ši sistema vienu metu apdoroja kelias operacijas arba operacijų paketą. Pagrindinis trūkumas yra tas, kad apdorotos operacijos neduoda greitų rezultatų.

Šiuolaikinė analogija yra torrent failas, prijungtas prie failų aplanko. Vartotojas negali iš karto pasiekti failo, kol nebus visiškai atsisiųsti visi aplanke esantys failai. Atvirkščiai, sandorio procesas duoda realiojo laiko rezultatus, kurie sukuria daugiau patogumo ir mažiau painiavos. Pavyzdžiui, pirkėjas internetu gali akimirksniu pastebėti, kad turimų prekių skaičius mažėja, nes kiti pirkėjai deda prekes į savo internetinį pirkinių krepšelį.

Norint, kad programinė įranga ar programa būtų laikoma operacijų apdorojimo sistema, paprastai atliekamas ACID testas. ACID reiškia atomiškumą, nuoseklumą, izoliaciją ir ilgaamžiškumą. Atomiškumas reiškia sistemos gebėjimą atlikti visą sandorį arba jo atsisakyti. Pavyzdžiui, registruojantis internetinei banko sąskaitai, vartotojas turi įvesti reikiamą informaciją. Jei paliksite tuščią lauką arba uždarysite langą, vartotojas neteks registracijos.

Sandorių apdorojimo sistemos nuoseklumas reiškia, kad sistema turėtų veikti laikantis duomenų bazių valdymo vientisumo apribojimų. Paprasčiau tariant, programavimas turėtų būti teisingas. Izoliacijos ypatybė reiškia, kad kiekvienas sandoris yra traktuojamas kaip atskiras ir skirtingas, net jei tuo pačiu metu vyksta tie patys sandoriai. Sistemos patvarumas rodo, kad sėkmingai atlikus sandorį, jo negalima atšaukti. Sistemos gedimo atveju programa vis tiek turėtų išsaugoti duomenis per užkoduotą žurnalą.

Be būtinų funkcijų, kurios išlaiko ACID testą, operacijų apdorojimo sistema taip pat turėtų būti patikima. Tai reiškia, kad programa turi minimalią arba nulinę galimybę sugesti. Gedimo atveju atkūrimas turėtų būti greitas, o atsarginė sistema taip pat nedelsiant įsijungia. Sistema taip pat turėtų būti visiškai prieinama tik ribotiems vartotojams. Pavyzdžiui, lankytojas gali pasirinkti, kurią vietą užimti lėktuve, bet negali atšaukti ankstesnio lankytojo rezervuotos vietos – užduotį gali atlikti tik patyręs programuotojas arba personalas.