Real Time vs Batch Processing vs Stream Processing

ápr 14, 2021
admin

Az innováció folyamatos ütemével a fejlesztők terabájt vagy akár petabájtnyi adat elemzésére számíthatnak egy adott időszakban. (Az adatok végül is még több adatot vonzanak.)

Ez természetesen számos előnyt tesz lehetővé. De mit kezdjünk ezzel a sok adattal? Nehéz lehet tudni, hogyan lehet a legjobban felgyorsítani és felgyorsítani ezeket a technológiákat, különösen, ha a reakcióknak gyorsan kell történniük.

A digitálisan első vállalatok számára egyre nagyobb kérdés, hogyan lehet a legjobban használni a valós idejű feldolgozást, a kötegelt feldolgozást és a folyamfeldolgozást. Ez a bejegyzés elmagyarázza az alapvető különbségeket ezen adatfeldolgozási típusok között.

A valós idejű operációs rendszerek

A valós idejű operációs rendszerek jellemzően az adatokra adott reakciókra vonatkoznak. Egy rendszer akkor minősíthető valós idejűnek, ha garantálni tudja, hogy a reakció a valóságban szűk határidőn belül, általában másodpercek vagy milliszekundumok alatt történik.

A valós idejű rendszerek egyik legjobb példája a tőzsdén használt rendszerek. Ha egy tőzsdei jegyzésnek a hálózatból a feladás után 10 milliszekundumon belül kell érkeznie, akkor ez valós idejű folyamatnak tekinthető. Az, hogy ezt egy folyamfeldolgozást alkalmazó szoftverarchitektúrával vagy csak hardveres feldolgozással érték el, lényegtelen; a szoros határidő garantálása az, ami valós idejűvé teszi.

Más helyzetek, ahol a valós idejű rendszerek használata előnyös lenne, a következők:

  • ATM-ek
  • Légiforgalmi irányítás
  • Blokkolásgátló fékrendszerek az autóban

Kihívások

Míg az ilyen típusú rendszerek úgy hangzanak, mintha megváltoztatnák a játékot, a valóság az, hogy a valós idejű rendszereket rendkívül nehéz megvalósítani a szokásos szoftverrendszerek használatával. Mivel ezek a rendszerek átveszik az irányítást a program végrehajtása felett, az absztrakció egy teljesen új szintjét hozza el.

Ez azt jelenti, hogy a program vezérlés-áramlása és a forráskód közötti különbség már nem látszik, mivel a valós idejű rendszer választja ki, hogy az adott pillanatban melyik feladatot kell végrehajtani. Ez előnyös, mivel nagyobb termelékenységet tesz lehetővé a magasabb absztrakció használatával, és megkönnyítheti az összetett rendszerek tervezését, de összességében kevesebb kontrollt jelent, amit nehéz lehet hibakereséssel és validálással ellenőrizni.

A valós idejű operációs rendszerek másik gyakori kihívása, hogy a feladatok nem elszigetelt egységek. A rendszer eldönti, hogy melyiket ütemezze, és a magasabb prioritású feladatokat az alacsonyabb prioritásúak elé küldi, ezzel késleltetve azok végrehajtását, amíg az összes magasabb prioritású feladat be nem fejeződik.

Egyre több szoftverrendszer kezd a valós idejű feldolgozás olyan ízét választani, ahol a határidő nem annyira abszolút érték, mint inkább valószínűség. Az úgynevezett lágy valós idejű rendszerek általában vagy általában képesek betartani a határidőt, bár a teljesítményük csökkenni kezd, ha túl sok határidőt mulasztanak el.

Tételes feldolgozás

A tételes feldolgozás nagy mennyiségű adat egyszerre történő feldolgozását jelenti. Az adatok könnyen több millió rekordból állnak egy napra vonatkozóan, és különböző módon tárolhatók (fájl, rekord stb.). A feladatokat jellemzően egyszerre, megállás nélkül, szekvenciális sorrendben végzik el.

A kötegelt feldolgozási feladatra jó példa egy pénzügyi cég összes tranzakciója, amelyet egy hét alatt nyújthat be. A kötegelt feldolgozás használható még:

  • Bérszámfejtési folyamatok
  • Sorszámlák
  • Kiszállítási lánc és teljesítés

A kötegelt adatfeldolgozás rendkívül hatékony módja a nagy mennyiségű, bizonyos idő alatt összegyűjtött adatok feldolgozásának. Segít továbbá csökkenteni a vállalkozások esetlegesen munkaerőre fordított működési költségeit, mivel működésének támogatásához nincs szükség speciális adatbeviteli ügyintézőkre. Offline is használható, és teljes körű ellenőrzést biztosít a vezetők számára, hogy mikor kezdjék el a feldolgozást, akár egyik napról a másikra, akár a hét vagy a fizetési időszak végén.

Kihívások

Mint mindennek, a kötegelt feldolgozó szoftverek használatának is van néhány hátránya. Az egyik legnagyobb probléma, amit a vállalkozások látnak, hogy ezeknek a rendszereknek a hibakeresése trükkös lehet. Ha nincs dedikált informatikai csapat vagy szakember, a rendszer hiba esetén történő javítási kísérletek károsak lehetnek, ami miatt külső tanácsadó segítségét kell igénybe venni.

A kötegelt feldolgozás másik problémája, hogy a vállalatok általában azért vezetik be, hogy pénzt takarítsanak meg, de a szoftver és a képzés kezdetben tisztességes összegű kiadásokat igényel. A vezetőket ki kell képezni, hogy megértsék:

  • Hogyan kell ütemezni a kötegeket
  • Mi váltja ki őket
  • Mit jelentenek bizonyos értesítések

(További információ a modern kötegelt feldolgozásról.)

Folyamfeldolgozás

A folyamfeldolgozás az egyik eszközről a másikra áramló adatok szinte azonnali elemzésére képes folyamat.

Ez a folyamatos számítási módszer úgy történik, ahogy az adatok átáramlanak a rendszeren, a kimenetre vonatkozó kötelező időbeli korlátozások nélkül. A szinte azonnali áramlással a rendszerek nem igényelnek nagy mennyiségű adat tárolását.

A folyamfeldolgozás rendkívül előnyös, ha a nyomon követni kívánt események gyakran és időben közel egymáshoz történnek. Akkor is a legjobb kihasználni, ha az eseményt azonnal észlelni kell, és gyorsan reagálni kell rá. A folyamfeldolgozás tehát olyan feladatoknál hasznos, mint a csalásfelismerés és a kiberbiztonság. Ha a tranzakciós adatokat folyamfeldolgozással dolgozzák fel, a csalárd tranzakciókat még a befejezésük előtt azonosítani és megállítani lehet.

Kihívások

A szervezetek egyik legnagyobb kihívása a folyamfeldolgozással kapcsolatban az, hogy a rendszer hosszú távú adatkiadási sebességének ugyanolyan gyorsnak vagy gyorsabbnak kell lennie, mint a hosszú távú adatbeviteli sebességnek, különben a rendszernek gondjai lesznek a tárolással és a memóriával.

A másik kihívás az, hogy hogyan lehet a legjobban megbirkózni a keletkező és mozgó hatalmas adatmennyiséggel. Annak érdekében, hogy az adatáramlás a rendszeren keresztül a lehető legmagasabb optimális szinten működjön, a szervezeteknek tervet kell készíteniük arra vonatkozóan, hogyan csökkentik a másolatok számát, hogyan célozzák meg a számítási magokat, és hogyan használják ki a lehető legjobban a gyorsítótár-hierarchiát.

Következtetés

Míg mindezen rendszereknek vannak előnyei, a szervezeteknek végső soron mindegyik lehetséges előnyeit figyelembe kell venniük, hogy eldönthessék, melyik módszer a legalkalmasabb az adott felhasználási esetre.

Kiegészítő források

  • BMC Workload Automation Blog
  • BMC Big Data Blog
  • Beginner’s Guide To Workplace Automation
  • What Is a Batch Job?
  • What Is a Data Pipeline?

Manage sl as for your batch services joe goldberg from BMC Software

Take a modern approach to batch processing

Application workflow orchestration is a modern approach to batch that can prevent production failures for on-time, every-time service delivery. Olvassa el az e-könyvet ‘

Ezek a bejegyzések a sajátjaim, és nem feltétlenül képviselik a BMC álláspontját, stratégiáit vagy véleményét.

Hibát lát vagy javaslata van? Kérjük, ossza meg velünk a [email protected] e-mail címen.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.