我对Cassandra中的分区键有一点疑问。 当我创建一个包含名为flxB的字段的表时,其类型是这样的UDT:
CREATE TYPE fluxes (
flux float,
flux_prec smallint,
flux_error float,
flux_error_prec smallint,
flux_bibcode text,
system text
);
我可以将字段flxB.flux放入分区键吗?
答案 0 :(得分:0)
不,您不能将flxB.flux放在主键的任何部分
即使在低于3.0的cassandra版本中,UDT类型字段也必须定义为冻结
使用frozen关键字时,无法更新用户定义类型值的部分内容。必须覆盖整个值。 Cassandra将冻结的,用户定义的类型的值视为blob。
在Cassandra中,插入/更新时必须存在主键的所有部分,如果cassandra允许你将flx.flux放在分区键中,cassandra将如何确保主键的所有部分都是出现在插入/更新查询中?