Jai entendu parler de nombreux outils / frameworks pour aider les gens à traiter leurs données (environnement Big Data).
Lun sappelle Hadoop et lautre est le concept noSQL. Quelle est la différence de point de traitement?
Sont-ils complémentaires?
Commentaires
- Voté contre le manque defforts de recherche. Hadoop et noSQL sont bien définis ailleurs.
- @Spacedman Je suis daccord, mais cétait un exemple de question de la Area51 alors si cétait pas supprimé avant je suppose quil est valide, et, même moi, je connaissais la réponse lorsque je poste la question (au moins de manière générique).
Réponse
Hadoop nest pas une base de données , hadoop est tout un écosystème.
La plupart des gens se réfèrent aux emplois mapreduce en parlant de hadoop . Un travail mapreduce divise de gros ensembles de données en quelques petits morceaux de données et les répartit sur un cluster de nœuds pour continuer. À la fin, le résultat de chaque nœud sera reconstitué en un seul ensemble de données.
Supposons que vous chargez dans hadoop un ensemble de <String, Integer>
avec la population de certains quartiers dune ville et vous voulez obtenir la population moyenne de lensemble des quartiers de chaque ville (figure 1).
figure 1
[new york, 40394] [new york, 134] [la, 44] [la, 647] ...
À présent, hadoop mappera dabord chaque valeur en utilisant les touches (figure 2)
figure 2
[new york, [40394,134]] [la, [44,647]] ...
Après le mappage, il réduira les valeurs de chaque clé à une nouvelle valeur (dans cet exemple, la moyenne sur lensemble de valeurs de chaque clé) (figure 3)
figure 3
[new york, [20264]] [la, [346]] ...
maintenant hadoop serait terminé avec tout. Vous pouvez maintenant charger le résultat dans le HDFS ( hadoop distribué) ou dans nimporte quel SGBD ou fichier.
Cest juste un très basique et simple ex amplement de ce que hadoop peut faire. Vous pouvez exécuter des tâches beaucoup plus compliquées dans hadoop.
Comme vous lavez déjà mentionné dans votre question, hadoop et noSQL sont complémentaires. Je connais quelques configurations où des milliards densembles de données de capteurs sont stockés dans HBase et passent ensuite par hadoop pour finalement être stockés dans un SGBD.
Réponse
NoSQL est un moyen de stocker des données qui ne nécessitent pas une sorte de relation. La simplicité de sa conception et sa capacité déchelle horizontale, une façon dont ils stockent les données est la conception de paires key : value
. Cela se prête à un traitement similaire à Hadoop. Lutilisation dune base de données NoSQL dépend vraiment du type de problème recherché.
Voici un bon lien wikipedia NoSQL
Hadoop est un système destiné à stocker et traiter dénormes blocs de données. Il sagit dun système de fichiers distribué dfs. La raison pour laquelle il le fait est que, au cœur de sa conception, il suppose que les pannes matérielles sont courantes, faisant ainsi plusieurs copies de la même information et la diffusant sur plusieurs machines et racks, donc si lun tombe en panne, pas de problème, nous avoir deux autres exemplaires. Voici un excellent lien pour Hadoop depuis wikipedia également, vous verrez quil sagit, à mon avis, plus que du stockage, mais aussi du traitement: Hadoop