Red Hat JBoss Data Grid technológia

Napjaink vállalati alkalmazásai jelentős átalakuláson estek (illetve esnek) át az elmúlt néhány évben, aminek számos oka és mozgatója van, azonban abban gyakorlatilag minden szakértő megegyezik, hogy a korszerű alkalmazások egyre inkább az adatokra épülnek, adat-intenzívekké, adat-központúakká válnak. A kezelt adatok mennyisége, az ezen adatokhoz való hozzáférés mikéntje (sebesség és hozzáférési technológiák tekintetében is) drámaian megváltozott az elmúlt években, ami változás kezelésére új technológiák kidolgozására és általánossá válására volt szükség. Gondoljunk csak arra, hogy a digitális technológiák közművé válásával mind a hivatalos, mind a magán jellegű kommunikációnkat elektronikus csatornákon, az állam vagy közösségi szolgáltatók által biztosított alkalmazásokon bonyolítjuk, a mobil kommunikációs eszközök (okostelefonok, táblagépek) elterjedésével a korábbiaknál sok nagyságrenddel nagyobb mennyiségű adatot hozunk létre és használunk nap mint nap.

A felhasználói szokások, minták és elvárások alapjaiban változnak meg, a korábban teljes mértékben elfogadott és általános több napos válaszidők (például a hivatali levelezés válaszideje) sokszor másodpercekre csökkent. Ilyen környezetben az új digitális világot kiszolgáló háttérinfrastruktúrákkal szemben támasztott követelmények is alapjaiban változnak meg, a korábban évtizedekig egyeduralkodó relációs adatbázis-kezelő megoldások mind a tárolt adatok mennyisége, mind az elvárt sebesség tekintetében sem biztosítanak kielégítő megoldást (nem beszélve a hihetetlen adatrobbanás jelentette környezetek kiszolgálását végző szoftverkörnyezetek költségeiről).
Az adatrobbanás és a felhasználói szokások megváltozásából adódó új helyzetnek alapjaiban új technológiai megoldások képesek megfelelni. Példaként hozhatnánk a Google-t a világon napjainkban talán a legtöbb adatot felhasználó vállalatot (akiknek a működését alapjaiban határozza meg az ADAT). A Google a klasszikus és zárt technológiák használatával egyszerűen képtelen lenne a meghatározó szolgáltatásait (például az internetes keresést) biztosítani, vagyis alapjaiban új, a korábbiaktól extrém módon különböző, gyorsabb, rugalmasabban skálázható és lényegesen költséghatékonyabb megoldások kidolgozására és gyakorlati implementációjára volt szükség.

A felmerült kérdések megválaszolására a memória alapú adatkezelést megvalósító technológiák jelentik az egyik legkézenfekvőbb választ, nem véletlen, hogy ez a technológiai terület napjaink informatikai fejlesztéseinek egyik leggyorsabban fejlődő, legnagyobb innovációt felvonultató területe.
A memória alapú adattárolási és adatkezelési technológiák (jellemzően datagrid vagy data-cache technológiák, melyekre a továbbiakban így hivatkozunk) azt a piaci trendet használják ki, hogy a memória, illetve azt ezt kiszolgáló hardver elemek ára napjainkra jelentősen lecsökkent, a folyamat tartós és megállíthatatlan, így lehetővé vált, hogy az alkalmazások számára szükséges adatokat immár ne (vagy ne kizárólag) fizikai adathordozókról, hanem az azoknál jellemzően nagyságrendekkel gyorsabb memória alapú adattárakból szolgáljuk ki. A memória használata a sebességen túl jelentős változásokat hozott az architektúrák kialakítása esetében is, lehetővé téve a korábbiaknál sokkal rugalmasabb, magasabb rendelkezésre-állást és bővíthetőséget (horizontális skálázódást) biztosító környezetek létrehozását.

Datagrid megoldások jellemzői

A datagrid megoldások számos közös alaptulajdonsággal rendelkeznek, ezen tulajdonságok legtöbbje a kereskedelmi célú adat cache termékek közös jellemzője. Ezen tulajdonságok támogatása így adott, akár a Red Hat nyílt forráskódú vállalati kategóriájú szoftveréről a JBoss Data Gridről, akár például az Oracle Coherence-ről beszélünk. Természetesen a piac ezen termékeknél lényegesen színesebb, ráadásul a technológia sajátosságából adódóan a nyílt forráskódú közösségi projektek közül jelentős számú ugyancsak a memória alapú adatbázis-kezelésre, a bigdata problémakörének megoldására fókuszál. Ezen projektek közül említést érdemel az Apache Hadoop projekt, ami a Red Hat által használt Infinispan projekthez hasonlóan számos kereskedelmi szoftvertermék részét képezi, azonban a Hadoop önmagában inkább technológiaként értelmezhető és a Hadoop esetében számos data grid alapjellemző nem került implementálásra.

Kapcsolódási lehetőségek

A datagrid megoldások közös jellemzője, hogy memória alapú adatkezelést valósítanak meg, így a hozzájuk kapcsolódó alkalmazások számára különféle interfészeken keresztül biztosítják a hozzáférést. A hozzáférés esetében a legelterjedtebb megoldások támogatják a fejlett, korszerű és szabványos webes technológiák (például REST) használatát, azonban például a JBoss Data Grid emellett támogatja a memcached protokollt, ami igen kedvelt az alkalmazásfejlesztők körében.

Topológiák

Fizikai megvalósítás szempontjából a datagrid rendszerek számos lehetőséget kínálnak arra, hogy extrém gyors, ugyanakkor rugalmasan skálázódó vagy éppen robusztus, igen magas rendelkezésre állású környezeteket hozzunk létre. A helyi és a távoli módokról az előzőekben már említést tettünk, azonban emellett ezen megoldások jellemzően alapértelmezetten támogatják a replikált, klaszter alapú működési módot (ahol a tárolt adatok a klaszter minden tagján tárolásra kerülnek) és az elosztott környezeteket (ahol az adatok úgy állnak redundáns módon rendelkezésre, hogy azok elosztott környezet node-jain találhatók meg) egyaránt.

Tranzakció- és konkurencia kezelés

A datagrid rendszerek az adatbázis-kezelés egy új fajtáját, a memória alapú (és jellemzően NoSQL) típusú kezelést valósítják meg, azonban számos olyan elvárásnak eleget kell tenniük, ami a hagyományos RDBMS rendszerek esetében megszokott. Ezen rendszerek esetében ugyancsak általánosan megvalósul az ACID műveletek, a Java tranzakciós API (JTA) és az elosztott (XA) tranzakciók támogatása vagy az MVCC alapú elosztott lockolási mechanizmus használata.

Miben több a JBoss Data Grid?

Az alapfunkciók tekintetében a meghatározó datagrid termékek között lényegi különbségek nincsenek, funkcionalitás szempontjából a Red Hat JBoss Data Grid és példának okáért az Oracle Coherence terméke gyakorlatilag egyenértékű.

Az alapfunkciókon túlmenően – természetesen a termékekben megjelenő szemléletbeli különbségeket és költségeket nem ide számítva – számos olyan terület található, ahol a nyílt forráskódú megoldás éppen a benne megtestesülő innováció és nyíltság révén jelentős pluszt ad.

Példaként említhetjük a JBoss Data Gridben megjelenő olyan innovatív technológiákat, mint a Google által kidolgozott Map / Reduce keretrendszer és programozási modell támogatását vagy az igen széles körben elterjedten használt memcached protokoll teljes körű implementációját. Ez utóbbi számos hagyományos alkalmazás alapját képezi, szinte minden elterjedt programozási környezetben létezik hozzá kliens, így a fejlesztők körében meghatározó kérdés lehet a támogatása, amit jelenleg a JBoss Data Griden keresztül érhetnek el a fejlesztők.

Ugyancsak érdemes kiemelni a JBoss Data Gridben széleskörűen alkalmazott aszinkron technológiákat, amelyek ilyen teljes körűen nem találhatók meg például az Oracle Coherence esetében sem, ugyanakkor éppen ezen aszinkron API használata és az adat cache környezet aszinkron konfigurációs lehetősége jelent hatalmas teljesítménytöbbletet számos alkalmazási mód esetében.

Az itt felsorolt termékekről további részleteket, illetve árazási információkat a sales@ulx.hu email címen és/vagy a +36 1 450 0921-es telefonon keresztül kaphat.