Mēs jau labu laiku dzirdam terminu Big Data, bet kas īsti ir šie Big Data? Datu internets, ko iegūst no interneta, gadu gaitā ir dramatiski pieaudzis, un tas turpina pieaugt ar eksponenciālu ātrumu. Šādu apjomīgu datu apstrāde, kas nav piemērota tradicionālajām apstrādes metodēm, tiek saukta par lielo datu. Šāda veida dati rada problēmas tradicionālajām RDBMS sistēmām, kuras izmanto datu glabāšanai un apstrādei. Apstrādes jauda, kas nepieciešama tik daudz datu savlaicīgai un rentablai glabāšanai un apstrādei, ir milzīga. Lai risinātu šo problēmu, nepieciešami jauni un uzlaboti Big Data risinājumi, kas īpaši izstrādāti lielu nestrukturētu datu apstrādei. No daudzajām tehnoloģijām Hadoop un MongoDB ir divas populārākās izvēles, kad runa ir par lielu datu glabāšanu un apstrādi. Lai gan abi būtībā ir diezgan līdzīgi tam, ko viņi dara, taču viņu pieeja tam, kā viņi to dara, ir diezgan atšķirīga. Apskatīsim.
MongoDB ir atvērtā koda dokumentu datu bāze, kas ir kļuvusi par de facto NoSQL datu bāzi ar miljoniem lietotāju, sākot no maziem jaunizveidotiem uzņēmumiem līdz Fortune 500 uzņēmumiem. Vadošie uzņēmumi un patērētāju IT uzņēmumi izmanto MongoDB iespējas savos produktos un risinājumos. Rakstīts C ++ formātā, MongoDB ir starpplatformu, uz dokumentiem orientēta datu bāze, kas efektīvi novērš SQL shēmu balstītu datu bāzu ierobežojumus, nodrošinot augstu veiktspēju, augstu pieejamību un vieglus mērogojamības risinājumus. Tā ir datu bāze, kas paredzēta mūsdienīgam tīmeklim. Tāpat kā citas NoSQL datu bāzes, arī MongoDB neatbilst RDBMS principiem, jo tabulās, rindās un kolonnās nav jēdzienu. Tas savus datus glabā BSON dokumentos, kur visi saistītie dati tiek salikti vienā dokumentā.
Hadoop ir atvērtā koda ietvars, kas paredzēts liela apjoma datu glabāšanai un apstrādei datoru kopās. Tas ir lietojumprogrammas, kuru pamatā ir Java, un dažādas programmatūras kolekcija, kas izveido datu apstrādes sistēmu. Ideja ir apstrādāt liela mēroga datus par saprātīgām izmaksām pēc iespējas īsākā laikā. Hadoop sastāv no trim galvenajiem resursiem: Hadoop izplatītās failu sistēmas (HDFS), Google MapReduce programmēšanas platformas un visas Hadoop ekosistēmas. Hadoop ekosistēma sastāv no moduļiem, kas palīdz programmēt sistēmu, pārvaldīt un konfigurēt klasteru, pārvaldīt un saglabāt datus klasterī un veikt analītiskos uzdevumus. Hadoop MapReduce atbalsta datu analīzi ļoti lielā daudzumā gan strukturētu, gan nestrukturētu datu. Hadoop ir reģistrēta Apache Software Foundaton preču zīme, un MapReduce ir tās pamats paralēlai apstrādei.
- Lai arī abi tiek uzskatīti par lielu datu risinājumiem, MongoDB pamatā ir vispārējas nozīmes platforma, kas paredzēta esošo RDBMS sistēmu aizstāšanai vai uzlabošanai. MongoDB ir atvērtā koda dokumentu datu bāze un viena no vadošajām NoSQL datu bāzēm, kas rindu un tabulu vietā izmanto dokumentus, lai padarītu tos elastīgus, mērogojamus un ātrus. Hadoop, no otras puses, ir atvērtā pirmkoda sistēma, kas paredzēta liela apjoma datu glabāšanai un apstrādei datoru kopās. Hadoop nav paredzēts, lai aizstātu esošās RDBMS sistēmas; patiesībā tas darbojas kā papildinājums datu analīzes procesam, kas apstrādā lielu daudzumu gan strukturētu, gan nestrukturētu datu.
- Hadoop ekosistēma ir rīku kolekcija, kas izmanto vai atrodas blakus Google MapReduce programmēšanas platformai un HDFS (Hadoop Distributed File System) datu glabāšanai un sakārtošanai, kā arī Hadoop palaižamo mašīnu pārvaldīšanai. HDFS ir paredzēts datu straumēšanai. No otras puses, MongoDB piedāvā atšķirīgu pieeju; tā ir balstīta uz Nexus arhitektūru, kas izmanto NoSQL iespējas, saglabājot relāciju datu bāzu pamatus. Tas datus glabā kā dokumentus binārā attēlojumā ar nosaukumu BSON (Binary JSON), kur tos parasti sakārto kā kolekcijas.
- Lielākais Hadoop spēks ir MapReduce. Mūsdienās Hadoop ir labākais MapReduce ietvars tirgū. MapReduce ideja ir tāda, ka ievadi var sadalīt loģiskos gabalos, kur katru fragmentu var patstāvīgi apstrādāt ar kartes uzdevumu. Kartes uzdevumu var palaist uz jebkura aprēķina mezgla klasterī, un vairākus kartes uzdevumus var palaist paralēli visā klasterī. MongoDB, no otras puses, ir dokumentu datu bāze, kas var apstrādāt slodzes, sākot no starta MVP un POC līdz uzņēmumu lietojumprogrammām ar simtiem serveru. MongoDB ir kļuvis par nišas datu bāzes risinājumu līdz de facto NoSQL datu bāzei. Tās priekšstats par dokumentiem ir patiešām izteiksmīgs un elastīgs.
Lai gan abi būtībā ir diezgan līdzīgi tam, ko viņi dara, taču viņu pieeja tam, kā viņi to dara, ir diezgan atšķirīga. MongoDB datus glabā kā dokumentus binārā attēlojumā ar nosaukumu BSON, turpretī Hadoop dati tiek glabāti fiksēta lieluma blokos un katrs bloks visā sistēmā tiek dublēts vairākas reizes. Hadoop ekosistēma ir rīku kolekcija, kas izmanto vai atrodas blakus Google programmēšanas platformai MapReduce, savukārt MongoDB, kas balstīta uz Nexus arhitektūru, kas izmanto NoSQL iespējas, saglabājot relāciju datu bāzu pamatus.