In: SzámOkt 2015: XXV. NEMZETKÖZI SZÁMÍTÁSTECHNIKA ÉS OKTATÁS KONFERENCIA.
Konferencia helye, ideje: Arad, Románia, 2015.10.08-2015.10.11. Arad: Erdélyi Magyar Tudományos Társaság,2015. pp. 203-207.
In-memory adatbázis-kezelő alkalmazások gazdaságossági kérdései Return on IMDB applications ERDŐS Ferenc, PhD, egyetemi docens Széchenyi István Egyetem, Gépészmérnöki, Informatikai és Villamosmérnöki Kar, Informatika Tanszék 9026. Győr, Egyetem tér 1.
[email protected]
Abstract Today, data-intensive business applications play an increasingly role in companies. In order to serve the business needs practically all major relational database management system vendors offer the opportunity of in-memory data management. This study attempts analyse the application opportunities and the return on investment aspects of in-memory database management systems.
Összefoglaló Napjainkban az adatintenzív üzleti alkalmazások egyre jelentősebb szerepet töltenek be a vállalatok életében. Az üzleti igények kiszolgálása érdekében már gyakorlatilag mindegyik jelentősebb piaci részesedéssel bíró relációs adatbázis-kezelő rendszereket fejlesztő cég kínálatában elérhető a memóriában tárolt adatbázisok lehetősége. A tanulmányban kísérletet teszek annak megállapítására, hogy mely üzleti területeken lehet ezen megoldásoknak relevanciája és milyen beruházásgazdaságossági módszerek alkalmazhatók a megtérüléselemzés során.
Keywords IT, IMDB, In-memory
1. BEVEZETÉS Napjainkban az különböző üzleti alkalmazások egyre jelentősebb szerepet töltenek be egy vállalat életében. Ezzel párhuzamosan egyre nő az IT-rendszerekkel szemben támasztott igény, a technológia fejlődésével pedig újabb és újabb innovációk jelennek meg a piacon. Az egyik ilyen újdonság, amely már gyakorlatilag mindegyik jelentősebb piaci részesedéssel bíró relációs adatbáziskezelő rendszerekkel foglalkozó cég kínálatában elérhető, a memóriában tárolt adatbázisok területe. A következőkben kísérletet teszek annak megállapítására, hogy mely üzleti területeken lehet ezen megoldásoknak relevanciája és milyen beruházásgazdaságossági módszerek alkalmazhatók a megtérüléselemzés során.
2. IN-MEMORY ADATBÁZISOK JELLEMZŐI Az utóbbi évtizedben jelentős változások következtek be az elérhető informatikai rendszerek hardverjellemzői terén. Ilyenek például a többmagos architektúrák elterjedése, vagy a memória árak jelentős mérséklődése. A tárolási hierarchiában (1. ábra) a vállalati IT-rendszerek tekintetében egyre nagyobb nyomás jelent meg a felfelé való elmozdulás irányába, ugyanis jóllehet a merevlemezek tárolási kapacitása jelentősen megnövekedett, de elérési sebességük közel sem nőtt olyan arányban, mint ami a sebességnövekedés terén a többi hardverkomponens esetében megfigyelhető volt. A diszk alapú tárolás sebessége a mechanikai korlátok miatt előre láthatólag a jövőben sem fog jelentős növekedést produkálni.
203
In: SzámOkt 2015: XXV. NEMZETKÖZI SZÁMÍTÁSTECHNIKA ÉS OKTATÁS KONFERENCIA.
Konferencia helye, ideje: Arad, Románia, 2015.10.08-2015.10.11. Arad: Erdélyi Magyar Tudományos Társaság,2015. pp. 203-207.
1. ábra Adattárolási hierarchia Többek között ebből a problémából adódóan a hagyományos RDBMS-megoldások sok esetben szűk keresztmetszetet jelentettek az IT-rendszerektől egyre hangsúlyosabban elvárt bizonyos adatintenzív üzleti igényinek kiszolgálásában. Mivel a feldolgozási műveletek minden esetben a CPUn belül hajtódnak végre, így az adatbázis-kezelő rendszereket fejlesztők részéről az alapvető törekvés az, hogy a feldolgozáshoz szükséges adatokat minél gyorsabban a CPU rendelkezésére bocsájtsák. Elsősorban ezen igény kiszolgálására jelentek meg az utóbbi években egyre nagyobb számban az IMDB-rendszerek (In-Memory DataBase), amelyek alatt olyan adatbázis rendszert értünk, ahol a tárolt és kezelt adatok elsődleges példánya a fizikai memóriában található [2], szemben a nem volatilis tárolón alapuló adatbázisokkal, ahol az jellemzően a lemezes-, vagy SSD (Solid-State Drive) alapú háttértáron található. Természetesen a teljes körű IMDB-megoldásokon túlmenően számos olyan megoldás is található a piacon, ahol az adatbázisnak csak egy részét töltik valamilyen automatizált, vagy manuális konfigurációnak megfelelően az operatív tárba, valamint az adatbázisok memória cache területének megnövelésére és annak minél optimalizáltabb kihasználására helyezik a hangsúlyt. Az IMDB-rendszerek esetében természetesen szükség van nem volatilis tárolókra is (merevlemezre, SSD-re, vegy egyéb háttértárolóra), hogy rendszerleállás és újraindítás után se vesszenek el az adatok. Ez viszont jellemzően nem lassítja az ilyen rendszerek teljesítményét, hiszen a szükséges backup műveletek aszinkron módon is történhetnek háttérfolyamatként. A jelenlegi üzleti rendszerek tranzakcionális adatbázisainak jelentős része különböző aggregátumokat tartalmaz, amelyeket alapvetően performancia okokból képeznek az adatmodellek kialakítása során. Az esetleges üzleti oldal igényeiből adódó újabb aggregációk vagy hierarchiák iránti igény sok esetben jentős fejlesztési terhet jelent, amelyet leginkább csak az aszinkron módban működő OLAP-rendszerben lehet rövid úton megvalósítani. Egy in-memory alapú adatbázis esetében bármikor tetszőleges igény szerinti aggregáció, hierarchia és algoritmus valós időben kialakítható, ugyanis a redundanciamentes ún. fizikai adatmodell fölé helyezett logikai-, vagy más néven információs modell réteg tetszőleges módon kialakítható és az OLTP-jellegű karbantartási műveletek teljesítményének csökkenése nélkül bővíthető. Az implicit redundanciát is jelentő aggregációk megszűnése mellett az IMDB-rendszerek lehetőséget biztosítanak az oszlop alapú szervezésre, amelyből adódóan a feleslegessé váló, korábban riportokat kiszolgáló indexek eldobásával az OLTP adatbázis-karbantartó műveletek teljesítménye is megnő. Az oszlop alapú szervezés lehetőséget biztosít a tárolt adatok jelentős arányú tömörítésére is, amely az inmemory alapú adatbázisok esetében esszenciális tényező. További előny a rendkívül gyors válaszidő, amely egyes szélsőséges esetekben az üzleti alkalmazásokban indított lekérdezések tekintetében rendkívüli sebességnövekedést is előidézhet.
204
In: SzámOkt 2015: XXV. NEMZETKÖZI SZÁMÍTÁSTECHNIKA ÉS OKTATÁS KONFERENCIA.
Konferencia helye, ideje: Arad, Románia, 2015.10.08-2015.10.11. Arad: Erdélyi Magyar Tudományos Társaság,2015. pp. 203-207.
3. AZ IN-MEMORY ADATBÁZIS-KEZELŐ FELÉPÍTÉSÉNEK ÚJ PARADIGMÁJA
ALKALMAZÁSOK
A 90-es években kialakult nagyvállalati üzleti alkalmazásfejlesztés klasszikus rétegrendje napjaink IT-rendszereire általánosan jellemző. Ezen megközelítés szerint a tradicionális modell a 2. ábrán látható felépítésben három rétegből áll, az adatbázis rétegből, az alkalmazás szerver rétegből és a kliens rétegből. Megfigyelhető, hogy a nagyvállalati rendszereknél az üzleti logika tekintetében a fejlesztések során többnyire nem alkalmazzák a szerver oldali adatbázis programozást, így nem jellemző az ilyen tartalmú tárolt eljárások és függvények implementálása. Az üzleti logikát tehát teljes mértékben az alkalmazásszerver szolgáltatja, amelynek következtében nagy mennyiségű adatot transzportálnak az alkalmazás szerver szintjére és azt ott dolgozzák fel. Ennek megfelelően az alkalmazásszervernek komoly teljesítményparaméterekkel kell rendelkeznie, sok adatot kell bufferelnie, az adatok feldolgozása miatt erőteljes számítási teljesítménnyel kell bírnia, így a skálázhatósággal kapcsolatos igény jelentős hányada is ezen a rétegen jelenik meg. Az üzleti alkalmazások meghatározó hányadánál a felhasználói interfész renderelésének jelentős része is itt történik és a felhasználói felület események az alkalmazás szerveren kerülnek feldolgozásra.
2. ábra A klasszikus három rétegű alkalmazások felépítése Az in-memory platformokra épülő adatbázis-kezelő alkalmazások esetében az adatbázis oldali rendkívül gyors feldolgozási teljesítményből adódóan célszerű az üzleti logika adatintenzív részét erre a szintre implementálni, amellyel számos adatbázis specifikus előny hasznosítható. Ebben a megközelítésben az adatbázis szerver már csak a feldolgozási teljesítményigényes számítások eredményét továbbítja az alkalmazás szervernek, amelyből adódóan az alkalmazás szerver réteg sokkal „vékonyabb”. Egyes fejlesztői platformokon, mint például az SAP HANA, az alkalmazás szerver az adatbázisba van integrálva. [4] Az ilyen hatékony működésre optimalizált in-memory adatbázisokra épülő modern három rétegű alkalmazások felépítését a 3. ábra mutatja.
205
In: SzámOkt 2015: XXV. NEMZETKÖZI SZÁMÍTÁSTECHNIKA ÉS OKTATÁS KONFERENCIA.
Konferencia helye, ideje: Arad, Románia, 2015.10.08-2015.10.11. Arad: Erdélyi Magyar Tudományos Társaság,2015. pp. 203-207.
3. ábra Hatékony működésre optimalizált in-memory adatbázisokra épülő három rétegű alkalmazások felépítése
4. AZ IN-MEMORY ALAPÚ RENDSZEREK GAZDASÁGOSSÁGI KÉRDÉSEI Az in-memory alapú rendszerek használata olyan szervezetek számára jelenthet üzleti értéket, amelyeknél az OLTP-rendszerekre kialakított analitikus lekérdezések gyakori futtatása performanciaproblémákat okoz, valamint más üzleti területek működtetése elől vesz el teljesítményt és kapacitást, de valamilyen okból kifolyólag nem kívánnak külön adattárházat üzemeltetni. Az OLTP és OLAP igények egy közös in-memory rendszerből való kiszolgálása további egyszerűsítést, és mind a hardver- és szoftverköltségek területén költségcsökkentést eredményezhet, amely összességében alacsonyabb TCO-t (Total Cost of Ownership) eredményezhet a rendszer teljes életciklusára vetítve. Egy további pénzügyi megtérüléssel kecsegtető terület lehet az olyan valós idejű elemzési adatigények kiszolgálása, amelyek adattárházzal nem oldhatók meg. Az üzleti jellegű lekérdezések sebességének növelése érdekében a vállalatok általában két külön megközelítésű adatbázist működtetnek az egyiket a tranzakciók-feldolgozására (OLTP), a másikat pedig az analitikus elemzések elvégzésére (OLAP). Az OLAP-rendszerekbe jellemzően csak valamilyen időközönként kerülnek a tranzakciós adatbázisból az adatok áttöltésre, jóllehet a vállalatok üzleti döntéseihez a legtöbb esetben a legfrissebb tényadatok is szükségesek. Az in-memory alapú rendszerek kifejezetten költséghatékony megoldást jelenthetnek az olyan agilis adatpiac kialakítást célzó projektek esetében, ahol fontos a különböző rendszerekből származó adatok aktualitása és ezek valósidejű monitoringja és elemzése. Ezekben az esetekben természetesen szükség van a megfelelő ETL-folyamatok kiépítésére és a szükséges replikációs szerverek alkalmazására, amely további költségeket jelent. Mivel az említett alkalmazási területek hasznossági hatásainak eredményeképpen elsősorban a vállalati döntésekhez szükséges új vagy jobb információ állhat rendelkezésre, az ilyen jellegű beruházások megtérülésének vizsgálatához az információs értéknövekedés területét kellene segítségül hívni. Ezen megközelítés szerint minden információnak a beszerzése bizonyos költséggel jár együtt (jelen esetben egy in-memory alapokon működő informatikai rendszer bevezetése, fenntartása), valamint minden újabb információnak a birtoklása valamilyen előnyt jelenthet a döntéshozó számára. Az ilyen rendszerek TCO-ja nagyrészt a többi informatikai rendszerhez hasonló módon becsülhető. Azonban annak megállapítása, hogy a döntéshozó információkkal való ellátása kielégítő e, vagy bizonyos döntési folyamatokhoz további, vagy gyorsabban rendelkezésre álló információkra van-e szükség, speciális értékelési eljárásokat, modelleket igényel. A legtöbb ilyen modell alapjául a differencia eljárás szolgál. Ennek lényege, hogy az információérték a nyereség járulékos információk
206
In: SzámOkt 2015: XXV. NEMZETKÖZI SZÁMÍTÁSTECHNIKA ÉS OKTATÁS KONFERENCIA.
Konferencia helye, ideje: Arad, Románia, 2015.10.08-2015.10.11. Arad: Erdélyi Magyar Tudományos Társaság,2015. pp. 203-207.
beszerzése utáni elvárt értékének és a nyereségnek az információ megszerzése nélküli elvárt értékének a különbsége [8]. Ezzel összhangban csak akkor gazdaságos az adott információ megszerzése, ha ez a különbség nagyobb, mint nulla. A differencia eljárás egy tökéletes információs rendszert tételez fel, ugyanis az összes lehetséges döntési alternatíva és döntési környezet ismerete mellett, még az összes várható döntési konzekvenciára és az egyes alternatívák hasznossági hatásának számszerűsített értékelésére is ex ante szükség van [1]. A külföldi szakirodalmakban (például: [3], [5], [7]) leírt speciális modelleknek (például: kvantitatív orientációjú alapmodell, lineáris parciális információ modell, információértékelés a minőségi jószágkritériumok figyelembevételével, információérték a sztochasztikus kvadratikus döntési problémánál, stb.) alapvető problémájuk az, hogy többnyire ismeretlenek, túl elméleti jellegűek, alkalmazásuk rendkívül magas szintű matematikai és statisztikai háttértudást igényel, továbbá az elemzések eredményei is csak durva becslést jelentenek. Ebből kifolyólag ezeknek a módszereknek az in-memory alapú rendszerek gazdaságossági kérdéseinek területén való alkalmazhatósága erősen megkérdőjelezhető.
5. ÖSSZEFOGLALÁS Az in-memory alapú adatbázis-rendszerek alkalmazásának számos területen van létjogosultsága, úgymint az OLAP és OLTP adatbázisok egy közös rendszerrel való kiváltása, az agilis adatpiacok kialakítása, vagy valamilyen valós idejű adatelemzési adatigények kiszolgálása. Az ilyen jellegű beruházások megtérülésének elemzéséhez az információérték növekedés elméletére alapuló speciális modellek alkalmazására lenne szükség. Ezen módszerek alapvető problémája, hogy túl elméleti jellegűek és használatuk rendkívül magas szintű matematikai és statisztikai háttértudást igényel, ebből kifolyólag az in-memory alapú rendszerek gazdaságossági kérdéseinek területén való alkalmazhatóságuk létjogosultsága erősen megkérdőjelezhető.
Hivatkozások [1] Erdős F.: A kis- és közepes vállalkozások informatikai beruházásai és azok megtérülési lehetőségei Magyarországon. Doktori disszertáció, SZE RGDI, 2009. [2] Hector Garcia-Molina, Kenneth Salem: Main Memory Database Systems: An Overview. IEEE Transactions on knowledge and data engineering. 1992. 4/6 [3] Hirsch, R. E.: Informationswert und kosten und deren Beeinflussung. - Zeitschrift für betriebswirtschaftliche Forschung. 1968. 20/68. 670-676. o. [4] Word, J.: SAP HANA Essentials, Epistemy Press LLC, United States, 2014. [5] Laengle, S.: Informationswert bei Stochastisch quadratischen Entscheidungsproblemen. Dissertation. Universität Konstanz, Fakultät für Wirtschaftswissenschaften und Statistik. 2000. [6] Bachmaier, M., Krutov, I.: In-memory Computing with SAP HANA on Lenovo X6 Systems, Lenovo Press, US, 2015. [7] Moody, D., Walsh, P.: Measuring the Value of Information: An Asset Valuation Approach. 7th European Conference on Information Systems (ECIS 99). Copenhagen Business School, Copenhagen, Denmark. 1999. 496 512. o. [8] Satzger, G., Huther, A.: Informations und Kommunikationskosten. In: Fischer, T. M. (Hrsg.) Kosten Controlling. Neue Methoden und Inhalte. Schäffer Poeschel, Stuttgart, 2000. 480 505. o.
207