Vi har hørt udtrykket Big Data i ganske lang tid nu, men hvad er egentlig denne Big Data? Mængden af data, der er produceret af Internet of Things, er steget dramatisk gennem årene, og den fortsætter med at stige i en eksponentiel hastighed. Behandlingen af disse enorme datamængder, der ikke er egnede til traditionelle metoder til at håndtere, kaldes Big Data. Denne type data udgør udfordringer for de traditionelle RDBMS-systemer, der bruges til lagring og behandling af data. Den behandlingskraft, der er nødvendig for at lagre og behandle så meget data på en rettidig og omkostningseffektiv måde, er massiv. For at løse dette problem kræves nye og forbedrede Big Data-løsninger, der er specifikt designet til behandling af store ustrukturerede data. Af de mange teknologier er Hadoop og MongoDB de to populære valg, når det kommer til lagring og behandling af big data. Selvom begge er ret ens i grundlæggende hvad de gør, men deres tilgang til, hvordan de gør det, er ganske anderledes. Lad os tage et kig.
MongoDB er en open-source dokumentdatabase, der er vokset til at blive den de facto NoSQL-database med millioner af brugere, fra små startups til Fortune 500-virksomheder. Ledende virksomheder og forbruger-IT-virksomheder udnytter MongoDB's muligheder i deres produkter og løsninger. MongoDB, der er skrevet i C ++, er en tværplatform, dokumentorienteret database, der effektivt adresserer begrænsningerne af SQL-skemabaserede databaser ved at tilvejebringe løsninger med høj ydeevne, høj tilgængelighed og lette skalerbarhed. Det er en database designet til det moderne web. Som andre NoSQL-databaser overholder MongoDB ikke principperne for RDBMS uden koncepter af tabeller, rækker og kolonner. Det gemmer sine data i BSON-dokumenter, hvor alle de relaterede data er placeret sammen i et enkelt dokument.
Hadoop er en open-source ramme designet til opbevaring og behandling af store mængder data på tværs af klynger af computere. Det er et applikationer baseret på Java og en samling af forskellige software, der skaber databehandlingsrammer. Tanken er at behandle data i stor skala til rimelige omkostninger på mindst mulig tid. Hadoop består af tre primære ressourcer: Hadoop Distribueret filsystem (HDFS), Googles MapReduce-programmeringsplatform og hele Hadoop-økosystemet. Hadoop-økosystemet består af moduler, der hjælper med at programmere systemet, styre og konfigurere klyngen, styre og gemme data i klyngen og udføre analytiske opgaver. Hadoop MapReduce hjælper med dataanalyseprocessen meget store mængder af både strukturerede og ustrukturerede data. Hadoop er et registreret varemærke tilhørende Apache-softwaren Foundaton, og MapReduce er dens rammer for parallel behandling.
- Mens begge betragtes som big data-løsninger, er MongoDB dybest set en generel platform designet til at erstatte eller forbedre de eksisterende RDBMS-systemer. MongoDB er en open-source dokumentdatabase og en af de førende NoSQL-databaser, der bruger dokumenter i stedet for rækker og tabeller for at gøre den fleksibel, skalerbar og hurtig. Hadoop er på den anden side en open-source ramme designet til opbevaring og behandling af store datamængder på tværs af computerklynger. Hadoop er ikke beregnet til at erstatte de eksisterende RDBMS-systemer; faktisk fungerer det som et supplement til at hjælpe dataanalyseprocessen med at behandle store mængder af både strukturerede og ustrukturerede data.
- Hadoop-økosystemet er en samling værktøjer, der bruger eller sidder ved siden af Googles programmeringsplatform MapReduce og HDFS (Hadoop Distribueret filsystem) til at gemme og organisere data og styre de maskiner, der kører Hadoop. HDFS er designet til streaming af datatilgang. MongoDB tilbyder på den anden side en anden tilgang; det er baseret på Nexus Architecture, der udnytter NoSQL-kapaciteterne og samtidig opretholder fundamentet for relationelle databaser. Det gemmer data som dokumenter i binær repræsentation kaldet BSON (Binary JSON), hvor de typisk er organiseret som samlinger.
- Den største styrke ved Hadoop er MapReduce. I dag er Hadoop den bedste MapReduce-ramme på markedet. Konceptet bag MapReduce er, at input kan opdeles i logiske bidder, hvor hver del kan behandles uafhængigt af en kortopgave. En kortopgave kan køres på en hvilken som helst computernode i klyngen, og flere kortopgaver kan køre parallelt på tværs af klyngen. MongoDB er på den anden side en dokumentdatabase, der kan håndtere belastninger, der spænder fra opstart af MVP'er og POC'er til virksomhedsapplikationer med hundreder af servere. MongoDB er vokset fra at være en nichedatabaseløsning til den de facto NoSQL-database. Dens opfattelse af dokumenter er virkelig udtryksfuld og fleksibel.
Selvom begge er ret ens i grundlæggende hvad de gør, men deres tilgang til, hvordan de gør det, er ganske anderledes. MongoDB gemmer data som dokumenter i binær repræsentation kaldet BSON, mens dataene i Hadoop gemmes i blokke i fast størrelse, og hver blok duplikeres flere gange på tværs af systemet. Hadoop-økosystemet er en samling værktøjer, der bruger eller sidder ved siden af Googles programmeringsplatform MapReduce, hvorimod MongoDB er baseret på Nexus Architecture, der udnytter funktionerne i NoSQL og samtidig opretholder grundlaget for relationelle databaser.