J'ai une Cassandra et je veux utiliser la requête cql "IN". Je dois donc changer l'ordre des éléments dans ma clé primaire composée (seule la dernière pièce est disponible pour les requêtes "IN"). La table est assez grande mais ne couvre pas plusieurs nœuds maintenant.Modifier l'ordre de la clé primaire composée
Alors ce que j'ai essayé maintenant (ce qui ne fonctionne pas) est la suivante:
- créer une nouvelle famille de colonnes avec des colonnes identiques mais différents ordre des éléments clés primaires
- processus d'écriture d'arrêt et nodetool chasse
- copie tous/données/keyspace/columnfamily/fichiers
- renommer les fichiers pour correspondre au nouveau nom de famille de la colonne
- utiliser le chargeur sstable pour charger les fichiers dans la nouvelle colonne famille
Mais après la clé primaire est juste foiré:
Impossible de décoder la valeur « 53ccb45d4ab0d3560e8c36fd » (pour la colonne « cent ») comme int: il faut déballer un argument de chaîne de longueur 4
Je ne peux pas utiliser la copie ... à ... parce que c'est juste ... timing sur
Toutes les idées?
Ne pas utiliser une requête IN :-) Il n'est pas efficace (voir, par exemple, https: // lostechies. com/ryansvihla/2014/09/22/cassandra-query-patterns-not-using-the-in-query-for-multiple-partitions /) – jny
@jny bien scylla devrait résoudre ce problème. mais de toute façon, si l'alternative est de marteler la DB avec beaucoup de quereis similaire (ce que je fais actuellement), le perfromace est également très pauvre. Je veux vraiment voir alors IN au lieu de simplement croire :-) – KIC
@jny aussi: de votre llink: "Le mot-clé" in "a sa place comme lorsqu'on interroge INSIDE d'une partition, mais dans l'ensemble c'est quelque chose que je souhaite wasn Pas faisable sur toutes les partitions, j'ai corrigé une bonne douzaine de problèmes de performance avec ça jusqu'à présent, et je n'ai pas encore vu ça plus vite que des requêtes séparées plus asynchrones. ", c'est exactement ce que je veux faire. – KIC