Real Time vs Batch Processing vs Stream Processing
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
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.