在 Cassandra 中使用电子邮件作为主键会是不好的做法吗?这会导致复制出现问题(因为第一个主键用于复制 - 分区键)?
根据文档,使用高基数“键”作为索引不是一个好主意。它说应该为针对高基数列的查询创建一个动态列族(表)。
如果我在数据库中跟踪的主要内容是使用 EMAIL(到应用程序)登录的 USER 使用其他任何东西,但 EMAIL 作为主要内容,这对我来说似乎没有意义钥匙..
使用 EMAIL 作为行键是否有效?是否有理由为此使用 UUID?
我(可能是无知地)预见到的问题是,使用 UUID 作为行键,然后将电子邮件添加为另一个主键会失去唯一性(即电子邮件地址的唯一性)。然后可以使用同一个电子邮件创建多个帐户(无需额外检查以确保该电子邮件尚未被使用——这需要索引还是动态表?)
这就引出了第二个问题。究竟什么是动态表?我没有看到这个高基数键在动态表中的使用位置。现在它是行键(为什么不让它作为开始的行键......)?
搜索行键是否比创建的索引具有更高的性能?
有没有人对此有任何见解?我真的很感激!
如果动态列族只是意味着列是“动态”添加的,那么我看不出这对索引方面的高基数列有何帮助。