Je suis nouveau à Cassandra, donc j'ai lu une douzaine d'articles à ce sujet et donc je connais les bases. Tous les tutoriels montrent une récupération de données efficace par 1 ou 2 colonnes et une plage de temps. Ce que je ne pouvais pas trouver était comment modéliser correctement vos données si vous avez plus de conditions.Cassandra modèle de données avec plusieurs conditions
J'ai un grand événement base de données normalisée, avec quelques colonnes, dites:
- Type d'événement
- temps
- User_age
- user_country
- user_language
- et ainsi de suite.
Je devrais pouvoir interroger toutes les colonnes. Donc SGBDR j'interroger:
SELECT email FROM table WHERE time > X AND user_age BETWEEN X AND X AND user_language = 'nl'
etc ..
Je sais que je peux faire un tableau distinct pour chaque colonne, mais je encore besoin de combiner les résultats. Peut-être que ce n'est pas une mauvaise approche, mais j'en doute car il n'y a pas de sous-requêtes.
Ma question est évidemment, comment puis-je modéliser ce type de données correctement dans Cassandra?
Merci beaucoup!
Donc une solution potentielle serait la suivante: Créer une table séparée par type d'événement. Nous avons une colonne "merchant_id" que nous pouvons utiliser comme clé de partition, nous recherchons toujours un timerange et un merchant_id, donc sur une partition. Pourrions-nous simplement ajouter le reste en tant qu'index secondaires? il peut toujours y avoir des millions de lignes dans la table eventtype + merchant_id + sélection de l'heure. –