Pourquoi est-il préférable d'utiliser HBase
que d'utiliser Cassandra
avec Hadoop
?
Quelqu'un peut-il donner une explication détaillée à ce sujet?
Merci
Je ne pense pas que l'un soit meilleur que les autres, ce n'est pas seulement l'un ou l'autre. Ce sont des systèmes très différents, chacun avec ses forces et ses faiblesses, donc cela dépend vraiment de vos cas d'utilisation. Ils peuvent certainement être utilisés en complément les uns des autres dans la même infrastructure.
Pour mieux expliquer la différence, j'aimerais emprunter une image à Cassandra: le guide définitif , où ils passent en revue le théorème de la PAC. Ce qu'ils disent est fondamentalement pour tout système distribué, vous devez trouver un équilibre entre la cohérence , la disponibilité et tolérance de partition , et vous ne pouvez satisfaire de manière réaliste que 2 de ces propriétés. De cela, vous pouvez voir que:
En ce qui concerne Hadoop, HBase est construit sur HDFS, ce qui le rend assez pratique à utiliser si vous avez déjà une pile Hadoop. Il est également pris en charge par Cloudera, qui est une distribution d'entreprise standard pour Hadoop.
Mais Cassandra a également plus d'intégration avec Hadoop, à savoir Datastax Brisk qui gagne en popularité. Vous pouvez également désormais diffuser en mode natif les données de la sortie d'un travail Hadoop dans un cluster Cassandra en utilisant un format de sortie fourni par Cassandra (BulkOutputFormat
par exemple), nous ne sommes plus au point où Cassandra n'était qu'un projet autonome.
D'après mon expérience, j'ai trouvé que Cassandra est génial pour les lectures aléatoires, et pas tellement pour les analyses
Pour mettre un peu de couleur dans l'image, j'ai utilisé les deux dans mon travail dans la même infrastructure, et HBase a un objectif très différent de Cassandra. J'ai utilisé Cassandra principalement pour les recherches en temps réel très rapides, tandis que j'ai utilisé HBase plus pour les travaux batch ETL lourds avec des exigences de latence plus faibles.
C'est une question qui serait vraiment digne d'un article de blog, donc au lieu de continuer encore et encore, je voudrais vous signaler n article qui résume beaucoup de différences clés entre les 2 systèmes. En bout de ligne, il n'y a pas de solution supérieure à mon humble avis, et vous devriez vraiment réfléchir à vos cas d'utilisation pour voir quel système est le mieux adapté.
Nous devons comparer les avantages et les inconvénients des deux bases de données et prendre une décision prudente en fonction des besoins de l'entreprise.
Cassandra
Avantages:
Inconvénients:
HBase
Avantages:
Inconvénients:
Jetez un œil à article 1 , article 2 et ce présentation pour plus de détails.