Pourquoi sont super les colonnes de Cassandra n'est plus favorisées?
J'ai lu dans la dernière version que super les colonnes ne sont pas souhaitables en raison de "problèmes de performances", mais pas d'où cela est-il expliqué.
Puis j'ai lu des articles tels que des cette une qui donnent merveilleuse indexation des motifs en utilisant des super-colonnes.
Cela me laissent aucune idée de ce qu'est actuellement la meilleure façon de faire de l'indexation de Cassandra.
- Quels sont les problèmes de performances de super colonnes?
- Où puis-je trouver actuel les meilleures pratiques pour l'indexation?
- C'est une excellente question. Je pense que c'ebay tech blog ont une belle et low tech (pas beaucoup de tech de détails) vue d'ensemble d'une architecture optimisée. ebaytechblog.com/2012/07/16/... Toutefois, si vous êtes dans le vrai truc, mieux à lire chaque changelog et la feuille de route de sorte que vous obtenez une meilleure idée où et quels sont les problèmes et comment sont-ils résolus. C'est trop de la lecture et ce serait bien si elle pouvait être systématisés quelque part, mais je ne trouve pas beaucoup sur internet.
Vous devez vous connecter pour publier un commentaire.
Super colonnes souffrent d'un certain nombre de problèmes, et non la moindre, est qu'il est nécessaire pour Cassandra pour deserialze tous les sous-colonnes d'une super colonne lors de l'interrogation (même si le résultat sera seulement de retour d'un petit sous-ensemble). En conséquence, il y a une limite pratique au nombre de sous-colonnes par super colonne qui peut être stocké avant l'exécution souffre.
En théorie, cela pourrait être fixé à l'intérieur de Cassandra par bien d'indexation de la sous-colonnes, mais le consensus est que les colonnes composites sont une meilleure solution, et ils travaillent sans ajouter de complexité.
La façon la plus simple de faire usage de colonnes composites, c'est de profiter de l'abstraction que CQL 3 fournit. Considérons le schéma suivant:
Le nom d'utilisateur est la clé de la ligne, mais nous avons utilisé une CLÉ PRIMAIRE définition qui crée un groupement de touche de ligne et le sent_at colonne. Ceci est important car il a pour effet de l'indexation de cet attribut.
Les coulisses de Cassandra va stocker les données insérées au-dessus de quelque chose comme ceci:
Mais à l'aide de CQL 3, nous pouvons interroger la "ligne" à l'aide d'un sent_at prédicat, et obtenir un résultat sous forme de tableau ensemble.