Pojem Big Data sme už počuli už nejaký čas, ale čo presne to je? V priebehu rokov sa množstvo údajov, ktoré vytvára internet vecí, dramaticky zvýšilo a stále exponenciálne rastie. Spracovanie týchto obrovských objemov údajov, ktoré nie sú vhodné pre tradičné metódy spracovania, sa nazýva Big Data. Tento druh údajov predstavuje výzvu pre tradičné systémy RDBMS používané na ukladanie a spracovanie údajov. Spracovateľská sila potrebná na včasné a nákladovo efektívne ukladanie a spracovanie týchto údajov je obrovská. Na vyriešenie tohto problému sú potrebné nové a vylepšené riešenia veľkých dát, ktoré sú špeciálne navrhnuté na spracovanie veľkých neštruktúrovaných údajov. Z mnohých technológií sú Hadoop a MongoDB dve populárne voľby, pokiaľ ide o ukladanie a spracovanie veľkých dát. Aj keď sú v podstate dosť podobné tomu, čo robia, ich prístup k tomu, ako to robia, je celkom odlišný. Pozrime sa.
MongoDB je open-source databáza dokumentov, ktorá sa rozrástla na de facto databázu NoSQL s miliónmi používateľov, od malých startupov až po spoločnosti Fortune 500. Popredné podniky a spotrebiteľské IT spoločnosti využívajú schopnosti MongoDB vo svojich produktoch a riešeniach. Napísané v jazyku C ++, MongoDB je multiplatformová, dokumentovo orientovaná databáza, ktorá efektívne rieši obmedzenia databáz založených na schémach SQL tým, že poskytuje vysoký výkon, vysokú dostupnosť a ľahko škálovateľné riešenia. Je to databáza navrhnutá pre moderný web. Rovnako ako iné databázy NoSQL, MongoDB nespĺňa zásady RDBMS bez konceptov tabuliek, riadkov a stĺpcov. Svoje údaje ukladá v dokumentoch BSON, kde sú všetky súvisiace údaje spojené do jedného dokumentu.
Hadoop je open-source framework navrhnutý na ukladanie a spracovanie obrovských objemov dát v klastroch počítačov. Ide o aplikácie založené na Java a kolekcii rôznych softvérov, ktoré vytvárajú rámec na spracovanie údajov. Cieľom je spracovať rozsiahle údaje za primeranú cenu v čo najkratšom čase. Hadoop pozostáva z troch primárnych zdrojov: distribuovaného systému súborov Hadoop (HDFS), programovacej platformy Google MapReduce a celého ekosystému Hadoop. Ekosystém Hadoop pozostáva z modulov, ktoré pomáhajú programovať systém, spravovať a konfigurovať klaster, spravovať a ukladať údaje v klastri a vykonávať analytické úlohy. Hadoop MapReduce pomáha pri analýze údajov veľmi veľké množstvo štruktúrovaných aj neštruktúrovaných údajov. Hadoop je registrovaná ochranná známka spoločnosti Apache Software Foundaton a MapReduce je jej rámec pre paralelné spracovanie.
- Aj keď sú obe považované za veľké dátové riešenia, MongoDB je v podstate univerzálna platforma určená na nahradenie alebo zlepšenie existujúcich systémov RDBMS. MongoDB je otvorená zdrojová databáza dokumentov a jedna z popredných databáz NoSQL, ktorá používa dokumenty namiesto riadkov a tabuliek, aby bola flexibilná, škálovateľná a rýchla. Hadoop, na druhej strane, je open-source framework navrhnutý pre ukladanie a spracovanie obrovských objemov dát v klastroch počítačov. Zámerom Hadoop nie je nahradiť existujúce systémy RDBMS; v skutočnosti slúži ako doplnok k procesu analýzy údajov, ktorý pomáha pri spracovávaní veľkých objemov štruktúrovaných aj neštruktúrovaných údajov.
- Ekosystém Hadoop je súbor nástrojov, ktoré používajú alebo sedia vedľa programovacej platformy MapReduce spoločnosti Google a HDFS (Hadoop Distributed File System) na ukladanie a organizovanie údajov a správu strojov, na ktorých je spustený Hadoop. HDFS je určený na streamovanie prístupu k dátam. Na druhej strane MongoDB ponúka odlišný prístup; je založená na architektúre Nexus, ktorá využíva možnosti NoSQL pri zachovaní základu relačných databáz. Ukladá údaje ako dokumenty v binárnej reprezentácii nazývané BSON (Binary JSON), kde sú zvyčajne usporiadané ako zbierky.
- Najväčšou prednosťou produktu Hadoop je MapReduce. Dnes je Hadoop najlepším rámcom MapReduce na trhu. Koncept MapReduce spočíva v tom, že vstup možno rozdeliť na logické kúsky, kde každý kus môže byť nezávisle spracovaný pomocou úlohy mapy. Úloha mapy sa môže spustiť na ľubovoľnom výpočtovom uzle v klastri a viaceré úlohy na mape sa môžu spúšťať paralelne cez klaster. Na druhej strane MongoDB je databáza dokumentov, ktorá dokáže spracovať záťaže od spustenia MVP a POC po podnikové aplikácie so stovkami serverov. MongoDB sa rozrástol zo špecializovaného databázového riešenia na de facto databázu NoSQL. Pojem dokumenty je skutočne výrazný a flexibilný.
Aj keď sú v podstate dosť podobné tomu, čo robia, ich prístup k tomu, ako to robia, je celkom odlišný. MongoDB ukladá dáta ako dokumenty v binárnej reprezentácii zvanej BSON, zatiaľ čo v Hadoop sa údaje ukladajú v blokoch s pevnou veľkosťou a každý blok sa v systéme duplikuje viackrát. Ekosystém Hadoop je zbierka nástrojov, ktoré používajú alebo sedia vedľa programovacej platformy Google MapReduce, zatiaľ čo MongoDB založené na architektúre Nexus, ktorá využíva možnosti systému NoSQL pri súčasnom udržiavaní základu relačných databáz..