J'ai essayé différentes approches, mais je ne peux pas trouver une solution à mon problème: Mes données est semblable à la table, ce qui signifie que j'ai un point de données (float) pour chaque combinaison d'entrées d'un ensemble de cordes:Cassandra: Quel schéma pour les mappages de type table?
(a mapping of S × S → ℝ)
Je veux modéliser le schéma afin que je puisse faire les recherches suivantes:
- toutes les paires de cordes avec une valeur dans une certaine gamme
- pour une chaîne d'entrée donné, toutes les chaînes pour lesquelles la la valeur cartographiée est dans une certaine plage
- pour une combinaison donnée d'entrée CORDES la valeur mappée
Depuis la mise en correspondance est symétrique (m(x,y) == m(y,x)
), ce serait bien si je ne devais stocker les
n*(n+1)/2
valeurs uniques au lieu des n^2
applications au total.
Ce que j'ai essayé jusqu'à présent:
- S1 + » « + S2 comme une ligne de clé et la valeur en tant que nom de colonne
- S1 comme rangée et une clé composite de [S2: valeur] comme colonne nom
- S1 en tant que clé de ligne, S2 en tant que nom de colonne, valeur en tant que valeur de colonne.
mais malheureusement, toutes ces approches ne me permettent pas de faire toutes les requêtes dont j'ai besoin. Est-ce encore possible à Cassandra?
Quelle est la taille de l'ensemble S? Et combien de valeurs uniques attendues? –
S est d'environ 10000 articles pour le moment, mais je voudrais ajouter des familles de colonnes avec des ensembles plus grands (30k - 100k) plus tard. Pour les valeurs uniques: Elles sont toutes dans la plage [0,1], mais toutes les valeurs peuvent y figurer. – feob