如何在Cassandra中为没有定义主键的表标识唯一记录?

p8h8hvxi  于 2022-12-03  发布在  Cassandra
关注(0)|答案(1)|浏览(154)

我有Cassandra数据库和其中的一些表。表没有定义主键/唯一键/组合键。我们如何识别表中的唯一记录?
就像oracle有ROWID的概念一样,我们也有Cassandra数据库的内容。N/A

93ze6v8z

93ze6v8z1#

如果没有定义主键,则无法创建Cassandra表。
主关键字中的分区关键字决定了每个记录是如何“分区”或在集群中的节点之间分配的。没有分区关键字,Cassandra就不知道如何在集群中存储数据。
下面是一个按电子邮件地址分区的示例表:

CREATE TABLE users_by_email (
    email text,
    firstname text,
    lastname text,
    PRIMARY KEY (email)
)

在此示例中,如果不知道用户的电子邮件地址,则无法读取或写入表。
有关Cassandra如何在集群中的节点之间分发数据的更多信息,请参见Partitioners in Cassandra。另外还有关于how Cassandra stores data in partitions的视频短片(摘自DataStax Academy上的DS 201 Cassandra基础课程)。干杯!

相关问题