Jeg hørte om mange værktøjer / rammer til at hjælpe folk med at behandle deres data (big data-miljø).

Den ene hedder Hadoop, og den anden er noSQL-konceptet. Hvad er forskellen i behandlingspunktet?

Er de supplerende?

Kommentarer

  • Stemte ned for manglende forskningsindsats. Hadoop og noSQL er veldefinerede andre steder.
  • @Spacedman Jeg er enig, men det var et eksempel på spørgsmål fra Area51 , så hvis det var ikke slettet, før jeg gætter på, at det er gyldigt, og selv jeg vidste svaret, når jeg postede spørgsmålet (i det mindste generisk).

Svar

Hadoop er ikke en database , hadoop er et helt økosystem.

hadoop-økosystemet

De fleste mennesker henviser til mapreduce job, mens de taler om hadoop . Et mapreduce-job opdeler store datasæt i nogle små klumper af data og spreder dem over en klynge af noder for at komme videre. I sidste ende vil resultatet fra hver node blive samlet igen som et datasæt.


Lad os antage, at du indlæser i hadoop et sæt <String, Integer> med befolkningen i nogle kvarterer i en by, og du ønsker at få den gennemsnitlige befolkning over hele kvartererne i hver by (figur 1).

figur 1

 [new york, 40394] [new york, 134] [la, 44] [la, 647] ... 

Nu kortlægger hadoop hver værdi ved hjælp af tasterne (figur 2)

figur 2

[new york, [40394,134]] [la, [44,647]] ... 

Efter kortlægningen reducerer det værdierne for hver tast til en ny værdi (i dette eksempel gennemsnittet over værdisættet for hver tast) (figur 3)

figur 3

[new york, [20264]] [la, [346]] ... 

nu skulle der være gjort alt. Du kan nu indlæse resultatet i HDFS ( hadoop distribueret filsystem) eller i ethvert DBMS eller en fil.

Det er bare et meget grundlæggende og simpelt ex rigelig med hvad hadoop kan gøre. Du kan køre meget mere komplicerede opgaver i hadoop.

Som du allerede har nævnt i dit spørgsmål, er hadoop og noSQL komplementære. Jeg kender et par opsætninger, hvor f.eks. Milliarder datasæt fra sensorer er gemt i HBase og derefter kommer igennem hadoop til endelig at blive gemt i et DBMS.

Svar

NoSQL er en måde at gemme data på, der ikke kræver, at der er en slags relation. Enkelheden i dets design og vandrette skaleringsevne, en måde de gemmer data på er key : value pardesignet. Dette egner sig til behandling, der ligner Hadoop. Brugen af en NoSQL db afhænger virkelig af, hvilken type problem man er ude efter.

Her er et godt wikipedia-link NoSQL

Hadoop er et system, der er beregnet til at gemme og behandle enorme klumper af data. Det er et distribueret filsystem dfs. Årsagen til, at det gør dette, er, at det er centralt for dets design, at det antager, at hardwarefejl er almindeligt, hvilket gør flere kopier af det samme stykke information og spreder det på flere maskiner og stativer, så hvis man går ned, er der ikke noget problem, vi har to eksemplarer mere. Her er også et godt link til Hadoop fra wikipedia, du vil se, at det efter min mening er mere end bare opbevaring, men også behandling: Hadoop

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *