Comment mettre en œuvre un nombre fixe de colonnes (Timetuid) de Cassandra (avec CQL)?

StackOverflow https://stackoverflow.com/questions/9525579

  •  15-11-2019
  •  | 
  •  

Question

Voici un exemple d'utilisation d'utilisation:

Vous devez stocker le dernier N (disons 1000 comme taille de godet fixe) Actions d'utilisateur avec tous les détails des colonnes à base de Timetuid.

Normalement, les actions des utilisateurs sont déjà dans la famille de colonnes "ButsActionAction" où ID utilisateur d'utilisateur en tant que clé de ligne et actions dans les colonnes TIMEUUID. Vous pouvez également avoir une famille de colonnes «Allagraphes» qui stocke toutes les actions avec la même chose que le nom de colonne et l'identifiant de l'utilisateur en tant que valeur de colonne. C'est fondamentalement une famille de colonnes de relations mais malheureusement sans aucun détail des actions des utilisateurs. Interrogation avec cette famille de colonnes est chère, je suppose, à cause d'un partitionneur aléatoire. D'autre part, si vous stockez tous les détails dans "Allags", Cassandra ne peut pas gérer cette grande ligne correctement à un moment donné. C'est la raison pour laquelle je souhaite stocker les dernières actions d'utilisateurs avec tous les détails du nombre fixe de colonnes à base de Timeduid.

Peut-être que vous pourriez avoir une meilleure solution de conception pour ce cas d'utilisation ... J'aime entendre ça ...

Sinon, la question est de savoir comment mettre en œuvre un nombre fixe de colonnes (Timetuid) de Cassandra (avec CQL) efficacement?

Après l'insertion, nous pourrions supprimer des colonnes anciennes (Overflow) si nous avions une sorte de support de portée dans la suppression de CQL. Afaik il n'y a pas de soutien pour cela.

Donc, une idée? Merci d'avance ...

Était-ce utile?

La solution

IMHO, this is something that C* must handle itself like compaction. It's not a good idea to handle this on client side.

Maybe, we need some configuration (storage) options for column families to make them suitable for "most recent data".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top