A big data fogalma alatt azt a rendkívül komplex technológiai környezetet – beleértve a szoftvereket, hardvereket és hálózati modelleket – értjük, amely lehetővé teszi olyan hatalmas és bonyolult adatállományok begyűjtését, tárolását, feldolgozását és elemzését, amelyek méretük és komplexitásuk miatt a hagyományos adatbázis-menedzsment eszközökkel már csak jelentős nehézségek árán, vagy egyáltalán nem kezelhetők hatékonyan. Leegyszerűsítve fogalmazva: a big data koncepciója alapvetően a nagy mennyiségű (volume), nagy sebességgel keletkező vagy változó (velocity) és rendkívül változatos formátumú (variety) adatok kezelésének és elemzésének kihívásairól és az ezekre adott technológiai válaszokról szól, célja pedig az adatokban rejlő érték kinyerése.
Definíció A big data nem egyetlen konkrét technológiát jelöl, hanem sokkal inkább régebbi, már bevált módszerek és teljesen új technológiák komplex szintézisét képviseli. Ezek a technológiák együttesen teszik lehetővé a hatalmas adatmennyiségek gyors és hatékony kezelését, feldolgozását, még akkor is, ha azok különböző forrásokból származnak és eltérő struktúrával rendelkeznek. Kiemelt képességük a valós idejű vagy közel valós idejű kiértékelés biztosítása, ami lehetővé teszi a szükség szerinti azonnali vagy rendkívül gyors reagálást az eseményekre. A big data leggyakrabban emlegetett három meghatározó jellemzője, az úgynevezett 3 V (angolul: Volume, Velocity és Variety), a következőkre utal: a rendkívül nagy adatmennyiség (Volume): Terabájtoktól petabájtokig vagy akár exabájtokig terjedő adatmennyiségek kezelése. a rendkívül gyors adatfeldolgozás és adatkeletkezés (Velocity): Az adatok nagy sebességgel érkeznek (pl. szenzorokból, közösségi médiából), és gyakran valós időben kell feldolgozni őket. a rendkívül változatos adatok (Variety): Az adatok sokféle formátumban létezhetnek, beleértve a strukturált (pl. adatbázis táblák), félig strukturált (pl. XML, JSON) és strukturálatlan (pl. szöveg, kép, videó, hang) adatokat.
Bőgel György magyar kutató ezt a modellt kiegészítette egy negyedik lényeges jellemzővel: az adatok megbízhatóságával, hitelességével és pontosságával (Veracity). Ez a szempont arra hívja fel a figyelmet, hogy a nagy mennyiségű adat gyakran tartalmazhat zajt, bizonytalanságot vagy hibákat, amelyeket figyelembe kell venni az elemzés során. Egyes szakértők további V-ket is említenek, mint például a Value (az adatokból kinyerhető érték) vagy a Variability (az adatáramlások ingadozása).
A fogalom létrejötte Az adatok feldolgozásának és elemzésének igénye gyakorlatilag egyidős a modern számítógépek megjelenésével és elterjedésével. Az adatfeldolgozás történetének első nagyjából ötven évét technológiai szempontból három fő korszakra oszthatjuk, amelyek során az adatkezelési módszerek és eszközök folyamatosan fejlődtek. Ennek a technológiai evolúciónak a jelenlegi, negyedik jelentős szintjét képviseli a big data jelensége és az ahhoz kapcsolódó technológiai ökoszisztéma. Magát a "big data" kifejezést széles körben John Mashey-nek tulajdonítják, aki már 1998-ban használta azt egy előadásában, hogy leírja a növekvő adatmennyiségek által támasztott infrastrukturális kihívásokat. A fogalom azonban csak a 2000-es évek végén és a 2010-es évek elején vált igazán széles körben ismertté és használttá.
Strukturált adatok Az 1960-as években, ahogy a számítástechnika megjelent a gazdasági élet szereplőinél, az adatokat kezdetben viszonylag egyszerű fájlrendszerekben tárolták. A fájlokban tárolt adatokhoz való hozzáférés jellemzően szekvenciálisan történt, ami megfelelt az akkori legelterjedtebb tárolóeszköz, a mágneses szalag működési elvének. Jelentős változást hozott az adatok elérésében a közvetlen hozzáférésű tárolóeszközök (Direct Access Storage Devices, DASD), például a mágneslemezek elterjedése. Ezen eszközök szélesebb körű használata tette lehetővé a szoftverfejlesztők számára a relációs adatbázisok elméletének és gyakorlatának kidolgozását. Az 1970-es évek meghatározó találmányai közé tartozott a relációs adatbázis-kezelő rendszer (RDBMS) és az ezek kezelésére kifejlesztett SQL (Structured Query Language) nyelvek, valamint a riportprogram-generátorok (RPG) és más adatmenedzsment eszközök. Az üzleti alkalmazásokban a számítástechnika további térnyerését nagymértékben a relációs adatmodell robusztussága és rugalmassága tette lehetővé. Mindazonáltal az adatbázisok létrehozása, karbantartása és lekérdezése kezdetben meglehetősen költséges és időigényes, azaz viszonylag lassú folyamat volt. A hatékonyság növelése érdekében hamarosan kidolgozták az Entity-Relationship (ER) modellt az adatbázis-tervezés támogatására, és megjelentek az integrált, elemzési célokat szolgáló adattárházak (Data Warehouses). A relációs adatbázisok használata az 1990-es évek elejére vált általánosan elfogadottá és iparági szabvánnyá a strukturált adatok kezelésére. Napjainkban a strukturált adatok feldolgozásának továbbra is rendkívül hatékony eszközei a skálázható hardvereken futó és virtualizációs technikákat alkalmazó, relációs adatbázisokon alapuló enterprise content management (ECM) rendszerek és modern adattárház megoldások. Azonban a tárolókapacitások drámai növekedésével párhuzamosan megjelentek és egyre nagyobb teret nyertek a BLOB-ok (Binary Large Objects), amelyek nagy méretű, strukturálatlan bináris adatokat (pl. képeket, videókat) tárolnak adatbázisokban. Ezek kezelésére és a komplexebb adatstruktúrák modellezésére megjelentek az objektumorientált adatbázis-kezelő rendszerek (ODBMS) is, bár ezek elterjedtsége elmaradt az RDBMS-ekétől.
Web és a Content menedzsment 1989-ben a CERN-ben Tim Berners-Lee megalkotta a világháló (World Wide Web) alapjait, amely hamarosan forradalmasította az információhoz való hozzáférést és elindította hódító útján az internetet a szélesebb közönség számára is. Az internet robbanásszerű fejlődésével szinte egy időben a vállalati és intézményi szférában is megjelentek és elterjedtek az internetprotokoll alapú belső hálózatok, az intranetek. Gondoljunk csak a multinacionális vállalatok globális magánhálózataira, egyes országok közigazgatási hálózataira, vagy akár a határellenőrzés nélküli utazást biztosító Schengeni Információs Rendszerre. Fontos megjegyezni, hogy a tartalomkezelő (content management) rendszerek már a web széles körű elterjedése előtt is léteztek, főként a dokumentumok kezelésére. A web fejlődése során azonban az enterprise content management (ECM) rendszerekben egyre növekvő igény mutatkozott a hagyományos, strukturált dokumentumok mellett a nagy mennyiségű strukturálatlan adat, mint például képek, videók, hangfájlok és más bináris adatok hatékony tárolására, kezelésére és kiértékelésére. Mivel ezeknek a bináris adatoknak a releváns információk alapján történő elérése pusztán metaadatokon keresztül egyre nehézkesebbé és kevésbé hatékonnyá vált, a századforduló környékén megjelentek és fejlődésnek indultak a különböző képfelismerő szoftverek és más, tartalom alapú elemzést végző technológiák. A web által generált hatalmas adatmennyiség és a globális elérhetőség igénye mellett szinte kikényszerítette a megosztott rendszerek (distributed systems) egyre szélesebb körű alkalmazását és elterjedését. Ezzel párhuzamosan megjelentek a virtuális rendszerek, és a virtualizáció általános gyakorlattá vált az erőforrások hatékonyabb kihasználása érdekében. A webes környezetben az adatok tárolásának és feldolgozásának új, rugalmas és skálázható eszközei jelentek meg a felhő alapú számítástechnika (cloud computing) formájában.
Virtualizáció Az 1990-es évek végére és a 2000-es évek elejére a számítástechnikai fejlesztések, különösen a nagy sebességű optikai hálózatok elterjedése és a segítségükkel kialakított felhő alapú rendszerek megjelenése lehetővé tették a korábbi fizikai korlátok – mint a tárolókapacitás és a számítási teljesítmény helyhez kötöttsége – jelentős mértékű legyőzését. Gazdaságossá és technikailag megvalósíthatóvá vált hatalmas adatmennyiségek valós idejű vagy közel valós idejű tárolása, feldolgozása és elemzése. Maguk a legfontosabb alaptechnológiák, mint a virtualizáció, a párhuzamos feldolgozás (parallel processing), az osztott fájlrendszerek (distributed file systems), vagy az in-memory adatbázisok (az adatokat a merevlemez helyett a memóriában tartó adatbázisok a gyorsabb elérés érdekében) legalábbis elvi szinten már korábban is ismertek voltak, azonban csak a századvég és az új évezred technológiai fejlődése – különösen a hardverárak csökkenése és a hálózati sebességek növekedése – tette lehetővé széles körű és gazdaságos alkalmazásukat. A nagy teljesítményű, skálázható hardverek által kínált új lehetőségek kiaknázásához természetesen új szoftveres megoldásokra is szükség volt a meglévő adatbányászati (data mining) és content management eljárások mellett. Ilyen, kifejezetten a big data kihívásaira választ adó új technológiák például az Apache Hadoop keretrendszer és a hozzá kapcsolódó MapReduce programozási modell, amelyek lehetővé teszik nagy adatállományok párhuzamos feldolgozását számítógépfürtökön. A fejlesztések motorjai kezdetben elsősorban a nagy internetes vállalatok (pl. Google, Yahoo), a nagyvállalatok (különösen a bankok és pénzintézetek), valamint a tudományos kutatási projektek voltak, amelyek hatalmas adatmennyiségekkel dolgoztak. Hamarosan azonban megjelentek a kormányzati szervek is jelentős felhasználóként és fejlesztési ösztönzőként. A terrorizmus elleni küzdelem és a nemzetbiztonsági feladatok például a „big data” technológiák egyik korai és jelentős alkalmazási területévé váltak. Érdemes belegondolni, milyen elképesztően nagy mennyiségű és sokféle adatot (pl. online vásárlások, kommunikációs adatok, térfigyelő kamerafelvételek) kellett valós időben összegyűjteni és elemezni ahhoz, hogy például az interneten rendelt vegyi anyagok és kamerafelvételek elemzése alapján azonosítani tudják a Teréz körúti robbantás (2016) feltételezett elkövetőjét.
Infrastruktúra A „Big data” koncepciójának gyakorlati megvalósítása és sikeres alkalmazása elképzelhetetlen a megfelelő fizikai és szoftveres infrastruktúrának (hardver és szoftver támogatásnak) a megléte nélkül. Ennek az infrastruktúrának számos kritikus követelménynek kell megfelelnie. Biztosítania kell a megfelelő performanciát, azaz a rendszernek képesnek kell lennie a nagy adatmennyiségek gyors feldolgozására és lekérdezésére, nagyon magas szintű érzékenységgel és válaszkészséggel. Egy másik kulcsfontosságú szempont a rendelkezésre állás (availability). Mivel a big data rendszerek gyakran kritikus üzleti vagy társadalmi folyamatokat támogatnak, gyakorlatilag folyamatos, közel százszázalékos rendelkezésre állásra van szükség ahhoz, hogy egy ilyen rendszert érdemes legyen üzemeltetni. További alapvető követelmény a megfelelő skálázhatóság (scalability) mind horizontálisan (több gép hozzáadásával), mind vertikálisan (egyedi gépek erőforrásainak növelésével), mivel a Big data egyik legfőbb meghatározó tulajdonsága a folyamatosan és gyorsan bővülő adatállomány. Emellett, figyelembe véve az adatok rendkívül változatos voltát (variety), a rendszer flexibilitása, azaz a különböző adattípusok és feldolgozási igények kezelésének képessége is komoly kihívások elé állítja a tervezőket és üzemeltetőket. A magas rendelkezésre állás és a hibatűrés érdekében a rendszernek redundánsnak kell lennie (az adatok és a komponensek többszörözésével), és lehetőség szerint rugalmasnak, azaz képesnek kell lennie az automatikus hibajavításra vagy a hibák kikerülésére (öngyógyító képesség).
Tároló rendszerek