Question

Je parcourais le didacticiel dans lequel l'instructeur dit que l'ordre par défaut des colonnes dans une rangée est UTF8-tye.Mais il n’en parle pas davantage.

Je ne comprends pas ce que cela signifie.surtout que se passe-t-il si mes colonnes sont de types différents tels que int, timestamp etc.

Aussi, comment pourrais-je spécifier que l'ordre de tri sur les colonnes soit autre chose que "type UTF8".

Était-ce utile?

La solution

Il parle des noms des colonnes, pas des valeurs des colonnes.Dans les anciennes versions de Cassandra, vous pouviez utiliser des SuperColumns, qui sont des collections de colonnes au sein d'une ligne.Quelque chose comme ça:

{ RowKey: 
   { SuperColumn1Key: {c1:v, c2:v .... } },
   { SuperColumn2Key: {c1:v, c2:v .... } },
   { SuperColumn3Key: {c1:v, c2:v .... } }
}

C’est quelque chose de similaire à ce qui est aujourd’hui une large dispute.Le comparateur pourrait établir à la fois le tri des supercolonnes au sein d'une ligne et également le tri des colonnes par leur nom (vous pouvez choisir deux comparateurs différents dans une SuperColumnFamily, un pour le tri des supercolonnes et un autre pour le tri des colonnes).Par exemple, en utilisant le comparateur TimeUUID pour les supercolonnes, vous pouvez les récupérer triées par heure tandis que UTF8Type est un tri "alphabétique".

Imaginez cette ligne dans un comparateur de colonnes UTF8 :

{ id: {"author":"john", "vote": 3} }

Ajoutons maintenant une nouvelle colonne, disons texte.Puisqu'il s'agit d'utf8, "text" ("a"<"t"<"v") sera entre l'auteur et le vote

{ id: {"author":"john", "text": "blablabla", "vote": 3} }

Cependant, je pense que ce que vous avez vu est une ancienne vidéo, puisque ce concept n'est plus utilisé dans les versions plus récentes.

HTH, Carlo

Autres conseils

La réponse courte est :L'ordre de regroupement par défaut dans Cassandra est croissant (ASC).

Par défaut, les tables Cassandra sans ordre de clustering spécifié sont optimisées pour les requêtes SELECT ascendantes.Si vous devez effectuer des requêtes avec des requêtes descendantes, vous pouvez spécifier un ordre de clustering pour stocker les colonnes sur le disque dans l'ordre inverse de DEFAULT.

La documentation officielle indique que cela est un peu flou pour un lecteur rapide (faites attention au mot-clé magique "default") :

Résultats de la commande

Vous pouvez commander des résultats de requête pour utiliser le tri sur le disque des colonnes.Vous pouvez classer les résultats par ordre croissant ou décroissant.L'ordre croissant sera plus efficace que descendant.Si vous avez besoin de résultats dans l'ordre descendant, vous pouvez spécifier une commande de clustering pour stocker des colonnes sur le disque dans l'ordre inverse du défaut.Les requêtes descendantes seront alors plus rapides que celles ascendantes.

http://docs.datastax.com/en/cql/3.1/cql/cql_reference/create_table_r.html?scroll=reference_ds_v3f_vfk_xj__ordering-results

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