Cassandra 中的主键
Primary Key in Cassandra
我有以下情况;
我的数据有id
字段,而且这个字段在不断增加。
创建事件时,id
自动分配 = 1。
然后是2、3、4等等。
当id=1的数据生成后,就不会再生成了。
我想将此数据存储在 Cassandra 中。我可以将主键设置为 id
字段,但我不知道 cassandra 将如何为每条记录创建分区?
是否会为每条记录创建一个分区?
或者它会通过主键创建范围分区。例如; id 从 1 到 100 是第一个分区,100-200 是第二个分区等
在 Cassandra 中,分区键唯一标识 table 中的单个分区(记录)。为了澄清,主键:
- 必须有 1 个分区键
- 零个或多个聚类列
所以主键不等于分区范围
与具有二维tables 的传统RDBMS 相比,Cassandra tables 具有传统的2D tables 但也可以是3D 或更多。 Cassandra 的强大之处在于 tables 可以是多维的,这意味着每个分区可以有一行或多行(可以有数千行)。
如果您有兴趣,我在 post -- https://community.datastax.com/questions/6171/ 中通过示例对此进行了更详细的解释。干杯!
我有以下情况;
我的数据有id
字段,而且这个字段在不断增加。
创建事件时,id
自动分配 = 1。
然后是2、3、4等等。
当id=1的数据生成后,就不会再生成了。
我想将此数据存储在 Cassandra 中。我可以将主键设置为 id
字段,但我不知道 cassandra 将如何为每条记录创建分区?
是否会为每条记录创建一个分区?
或者它会通过主键创建范围分区。例如; id 从 1 到 100 是第一个分区,100-200 是第二个分区等
在 Cassandra 中,分区键唯一标识 table 中的单个分区(记录)。为了澄清,主键:
- 必须有 1 个分区键
- 零个或多个聚类列
所以主键不等于分区范围
与具有二维tables 的传统RDBMS 相比,Cassandra tables 具有传统的2D tables 但也可以是3D 或更多。 Cassandra 的强大之处在于 tables 可以是多维的,这意味着每个分区可以有一行或多行(可以有数千行)。
如果您有兴趣,我在 post -- https://community.datastax.com/questions/6171/ 中通过示例对此进行了更详细的解释。干杯!