A bigdata-forradalom tényleges elindítója az Apache Hadoop szoftver volt, amely lehetővé tette nagymennyiségű adat olcsó és rugalmas feldolgozását. A Hadoop alapjait az akkoriban fénykorát élő Yahoo mérnökei fektették le, akik többek között a webes kereséshez és spamszűrési feladatokhoz kerestek újszerű, hatékony megoldást.
A tízéves Hadoop
A Hadoop fő komponensei egy olcsó, egyszerű szervereken futó elosztott, az adatvesztés ellen többszörös tárolással védekező fáljrendszer (a HDFS) és egy ehhez illő programozási modell (a MapReduce) volt, amellyel sokféle adatfeldolgozási feladatot meg lehetett oldani. Az adatokat általában egyszerű szövegállományként tárolták, és a feldolgozások is főleg szűrés- és összesítésjellegű kérdések megválaszolására irányultak.
Az elmúlt tíz év alatt aztán óriási fejlődésen ment át a Hadoop, míg manapság már a de facto big data-rendszerré vált, amelyet Magyarországon is egyre több helyen használnak. A korszerű verziók már több tucatnyi komponenst kínálnak, néha akár többet is egy-egy feladatra. Így például a HDFS-ben tárolt adatok SQL nyelvű lekérdezésére használható a Hive, az Impala, a Presto vagy éppen a Drill modul is.
A Hadoop felhasználótáborának növekedésével párhuzamosan megjelentek az erre a területre szakosodó cégek is. A két legismertebb specialista ebben a szegmensben a Cloudera és a Hortonworks. A két cég üzleti modellje közötti különbség, hogy a Hortonworks a százszázalékosan nyitott filozófiát követi, míg a Cloudera rendelkezik néhány olyan komponessel is, amelyet csak fizető ügyfelei számára tesz hozzáférhetővé.
A trónkövetelő Spark
A Hadoop mellett a bigdata-világ új sztárja az Apache Spark, amely az elmúlt egy-két évben lett igazán népszerű. A Berkeley egyetemről induló szoftver a korábbi eszközöknél lényegesen nagyobb teljesítményt ígér. Az akár 5-10-szeres sebességelőny egyik titka, hogy a Spark igyekszik minden feldolgozást a memóriában végezni. Intelligens algoritmusok segítenek megállapítani azt is, hogy az egyes feladatokhoz tartozó feldolgozási lépéseket milyen sorrendben érdemes úgy végezni, hogy a diszkműveletek száma minimalizálható legyen.
A fejlesztők is kedvelik a Sparkot, amely sok előre elkészített adatfeldolgozó függvényt és eljárást kínál, így sokszor pár sorban meg lehet oldani egy-egy olyan feladatot, amihez Javában több oldalnyi kód kellene. Szintén előnyös, hogy a Spark többféle programnyelvet támogat, így többek között Scala, Python és SQL környezetben is bevethető. A szoftver népszerűséget jelzi, hogy egy elemzés szerint 2015-ban a Spark fejlesztésén dolgozott a legtöbb fejlesztő, többen, mint a Hadoopon magán.
Innováció az adattárházakban
A bigdata-rendszerek előretörése azonban nem jelenti azt, hogy a hagyományos adattárházak világában megállt a fejlődés. Manapság szinte az összes nagyvállalatnak és a kkv-k jelentős részének is van legalább egy kisebb-nagyobb DW-rendszere, amelyhez általában valamilyen BI- vagy adatvizualizációs eszköz is társul.
Működésük elvéből következően az adattárházak viszonylag kevés idő alatt is meglehetősen bonyolulttá válhatnak, hiszen a vállalatnál működő összes többi fontos rendszer adatait fel kell dolgozniuk. Ezért az innováció egyik fontos iránya az adattárház-automatizáció, amely az időigényes kézi fejlesztés helyett lehetővé teszi az adattárházak lényegét adó adatáttöltő (ETL-) programok generálását. Ezek a programgenerátorok sokszor házi készítésűek, de nagy nemzetközi szoftverházak is kínálnak komplett, mindenre kiterjedő DW-automatizálási keretrendszereket.
Szintén a komplexitás csökkentését célozzák az adatvirtualizációs kezdeményezések. Az ilyen szoftverek használatánál az adatok nem kerülnek szükségszerűen fizikailag áttöltésre a forrásrendszerekből az adattárházba, hanem csak az elérhetőségüket és fontos jellemzőiket rögzítik egy metaadat-tárban. A feldolgozási és lekérdezési sebesség növelésére is folytonos igény van, amit a fejlesztők többfajta módon próbálnak kielégíteni. A memóriában történő adatfeldolgozás itt is fontos eszköz, amihez kifejezetten lekérdezésre optimalizált, az adatokat oszlopszervezésű struktúrákban, tömörítetten tároló algoritmusok társulnak. Jól mutatja ezeknek a megközelítéseknek a népszerűségét, hogy az elmúlt hónapok során az összes nagy adatbázisgyártó cég bejelentett vagy piacra is dobott ilyen képességekkel felruházott új szoftververziókat.
A 10 éves Hadoop számokban
Programsorok száma a fő modulokban |
1,7 millió + |
Módosítások száma 2006 óta |
12,000 + |
Közreműködő fejlesztők |
800 + |
Komponensek számának változása 2006 és 2016 között |
2 -> 25+ |
Az adatok forrása a Cloudera