2013-04-03 4 views

Répondre

3

Vous pouvez le faire avec la réplication, oui. Vous avez besoin de quelques éléments:

  • Définissez un facteur de réplication d'au moins 2. Plus vous multipliez les répliques, plus vous risquez de gérer les nœuds défaillants. Cependant, plus vous avez de répliques, plus votre performance est mauvaise car plus de noeuds dupliquent le travail.
  • Choisissez un niveau de cohérence approprié. Le niveau de cohérence (CL) détermine combien de nœuds doivent être impliqués dans une opération de lecture ou d'écriture. CL.ALL signifie utiliser toutes les répliques de sorte que vous ne pouvez pas tolérer des échecs. CL.ONE signifie utiliser un seul noeud. CL.QUORUM signifie une majorité de répliques (RF/2 + 1)
  • Vous pouvez lire et écrire des données à partir de n'importe quel nœud, et pas seulement celles contenant ces données. Si vous utilisez une bibliothèque cliente comme Hector, vous devez lui indiquer tous les noeuds et éviter ceux qui sont hors service, ainsi que l'équilibre de charge parmi les noeuds disponibles.
+0

merci pour la réponse, peut ce niveau de cohérence est applicable pour la partition sans répliques? – Samy

+0

Sans réplication, le niveau de cohérence est sans signification pour les lectures (et surtout sans signification pour les écritures, à l'exception de CL.ANY) puisque tous sont équivalents. Si vous n'avez pas de réplication, vous ne pouvez pas lire la partie des données stockées sur les noeuds non disponibles. Si cela ne vous intéresse pas et que vous voulez simplement ignorer les données indisponibles, il vous suffit d'attraper l'exception UnavailableException que vous obtenez lorsque vous faites la requête. – Richard

Questions connexes