Quelqu'un connaît-il la différence entre les deux types de données CQL text
et varchar
dans Cassandra? La documentation Cassandra décrit les deux types comme "chaîne codée UTF-8" et rien de plus.
text
n'est qu'un alias pour varchar
!
La documentation:
[~ # ~] modifier [~ # ~]
Voici le lien vers les documents C * 1.2 . Les informations text vs varchar sont toujours les mêmes, mais ce document contient des types de données supplémentaires.
Vous vouliez probablement dire que les types de stockage CQL, sinon, ne tenez pas compte de ma réponse.
Dans le CQL, il y a une tendance constante à essayer de prendre ses distances avec les éléments internes de la cassandre. Que ce soit une bonne ou une mauvaise chose, est sujet à interprétation. Ce qui est pertinent, cependant, c'est que dans les dernières versions de CQL, les développeurs ont essayé de trouver une syntaxe plus familière aux personnes qui ne sont pas très en profondeur dans les internes de cassandra.
Si vous deviez jeter un œil à cette question SO, vous obtiendrez une belle illustration de la situation: Création d'une famille de colonnes ou d'une table dans Cassandra = tout en travaillant l'API Datastax (qui utilise le nouveau protocole binaire)
Dans les versions CQL récentes, certains alias, étrangers à cassandra, mais très bien connus des DBA ont commencé à apparaître. Par exemple, le natif de cassandra ColumnFamily a été aliasé avec Table, et le texte n'est qu'un alias pour varchar et vice versa. Encore une fois, c'est une question d'opinion si c'est une bonne chose ou ne pas.
Donc, en conclusion, vous pouvez utiliser varchar et text de manière interchangeable.
Cela m'a aussi jeté quand j'ai commencé avec Cassandra.
Le texte et varchar sont des chaînes codées UTF8 et sont synonymes l'un pour l'autre, c'est-à-dire qu'ils sont exactement la même chose.
En complément, si l'on vient d'un monde relationnel comme MS SQL, on hésiterait peut-être aussi à utiliser ces types (en particulier TEXT) comme champ principal pour une entité. Le TEXTE est surtout généralement associé à de grosses taches de contenu texte qui ne crient pas la clé primaire à celles de la 3ème forme relationnelle de l'esprit normal. Mais étant donné que tous les types Cassandra sont essentiellement stockés sous forme de tableaux d'octets hexadécimaux sur le disque, il n'y a pas de réelle performance significative lorsque vous les utilisez comme clé primaire.
Les types de données Cassandra CQL text et varchar sont des synons/alias l'un pour l'autre .