根据cassandra架构,我们应该将字段称为COMPOUND KEY。通过该键,我们可以从列中选择数据。
对于考试:
CREATE TABLE hotelier.country (
uuid ascii PRIMARY KEY,
name ascii
) WITH bloom_filter_fp_chance = 0.01
只能通过uuid字段
选择数据如果要按名称选择,则需要将广告字段名称作为复合键。
正确。
我的问题是为什么需要使用UUID,如果一般复合键唯一。为什么需要添加辅助字段UUID?
BR!
答案 0 :(得分:0)
如果要按名称选择,则需要将广告字段名称作为复合键。
不,如果您将名称添加为复合主键,则可以通过 uuid AND name 进行选择,您不能仅按名称选择,您必须同时提供uuid
我的问题是为什么需要使用UUID,如果通常复合键唯一。
因为在Cassandra中,Oracle中没有序列来生成代理键。这样做的方法是使用随机uuid生成器客户端,例如java.util.UUID.randomUUID()
答案 1 :(得分:0)
我的问题是为什么需要使用UUID,如果一般复合键唯一。为什么需要添加辅助字段UUID?
如果您确定您的COMPOUND KEY 非常 UNIQUE ,则不需要使用UUID。
e.g。如果您的PK是电子邮件,并且您确定没有人使用相同的电子邮件地址,您可以将PK用作PRIMARY KEY (email)
。
UUID只是用来确保行/分区是唯一的,因为它是随机的32个字母数字字符,因此复制概率非常低。
根据wikipedia,关于随机UUID中重复的可能性:
只有在接下来的100年中每秒产生10亿UUID后,创建一个副本的概率大约为50%。或者,换句话说,如果地球上每个人拥有6亿UUID,那么一次复制的概率约为50%。