J'ai entendu parler de nombreux outils / cadres pour aider les gens à traiter leurs données (environnement Big Data).
L'un s'appelle Hadoop et l'autre est le concept noSQL. Quelle est la différence de point de traitement?
Sont-ils complémentaires?
J'ai entendu parler de nombreux outils / cadres pour aider les gens à traiter leurs données (environnement Big Data).
L'un s'appelle Hadoop et l'autre est le concept noSQL. Quelle est la différence de point de traitement?
Sont-ils complémentaires?
Réponses:
Hadoop n'est pas une base de données , hadoop est tout un écosystème.
La plupart des gens se réfèrent à des emplois mapreduce tout en parlant de hadoop. Un travail mapreduce divise les grands 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 à nouveau rassemblé en un seul ensemble de données.
Supposons que vous chargez dans hadoop un ensemble de <String, Integer>
la population de certains quartiers d'une ville et que vous souhaitez obtenir la population moyenne sur l'ensemble des quartiers de chaque ville (figure 1).
Figure 1
[new york, 40394]
[new york, 134]
[la, 44]
[la, 647]
...
Hadoop va d'abord mapper chaque valeur à l'aide des 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 l'ensemble de valeurs de chaque clé) (figure 3)
figure 3
[new york, [20264]]
[la, [346]]
...
maintenant hadoop serait fait avec tout. Vous pouvez maintenant charger le résultat dans le HDFS (système de fichiers distribué hadoop) ou dans n'importe quel SGBD ou fichier.
C'est juste un exemple très simple et simple de ce que hadoop peut faire. Vous pouvez exécuter des tâches beaucoup plus compliquées dans hadoop.
Comme vous l'avez déjà mentionné dans votre question, hadoop et noSQL sont complémentaires. Je connais quelques configurations où, par exemple, des milliards d'ensembles de données provenant de capteurs sont stockés dans HBase et passent ensuite par hadoop pour finalement être stockés dans un SGBD.
NoSQL est un moyen de stocker des données qui ne nécessite pas de relation. La simplicité de sa conception et son évolutivité horizontale, une façon de stocker les données est la key : value
conception de la paire. Cela se prête à un traitement similaire à Hadoop. L'utilisation d'une base de données NoSQL dépend vraiment du type de problème que l'on recherche.
Voici un bon lien wikipedia NoSQL
Hadoop est un système destiné à stocker et à traiter d'énormes blocs de données. Il s'agit d'un système de fichiers distribué dfs. La raison pour laquelle il le fait est qu'au cœur de sa conception, il fait l'hypothèse que les défaillances matérielles sont courantes, faisant ainsi plusieurs copies de la même information et la répartissant sur plusieurs machines et racks, donc si l'un tombe en panne, pas de problème, nous avoir deux autres exemplaires. Voici un excellent lien pour Hadoop de wikipedia également, vous verrez qu'il s'agit, à mon avis, plus que de stockage, mais aussi de traitement: Hadoop