Cassandra:text vs varchar

dar*_*cyq 57 database cassandra

有谁知道两种CQL数据类型textvarcharCassandra 之间的区别?Cassandra文档将这两种类型描述为"UTF-8编码字符串",仅此而已.

Lyu*_*rov 68

text只是一个别名varchar!

文件:

编辑
这是C*1.2文档的链接.text vs varchar info仍然相同,但是本文档包含一些额外的数据类型.

  • 你能参考一下你发现TEXT是VARCHAR的别名吗?在任何给定的链接中都找不到它 (2认同)

Nik*_*hev 9

可能你的意思是CQL存储类型,如果没有,请忽略我的答案.

在CQL中,一直存在着试图与cassandra内部距离的趋势.无论是好事还是坏事,都可以解释.然而,相关的是,最新版本的CQL开发人员一直试图提出一种语法,这种语法对于那些没有深入cassandra内部的人来说更为熟悉.

如果您要查看这个SO问题,您将得到一个很好的例子: 在使用Datastax API(使用新的二进制协议)时在Cassandra中创建列族或表

在最近的CQL版本中,一些与cassandra不同的别名,但DBA的知名度已经开始出现.例如,cassandra ColumnFamily的本机已经使用Table别名,而text只是varchar的别名,反之亦然.同样,如果这是一件好事,这是一个意见问题.

因此,总之,您可以互换使用varchar和文本.


Put*_*tti 5

Cassandra CQL 数据类型textvarchar互为同义词/别名。

  1. 与 Varchar 关联的数据类型是blob(blob 的最大理论大小为2 GB
  2. 与文本关联的数据类型是 Varchar (这意味着即使您使用了文本,但 Cassandra 内部也将其视为Varchar
  3. blob 类型关联不会产生性能问题,因为 Cassandra 以恒定的十六进制数存储数据。
  4. 由于 Cassandra使用主键(分区键、聚类列)查询正确的坐标,因此读取速度会更快,具体取决于我们设计表的方式。 在此输入图像描述 在此输入图像描述