Cassandra:控制哪个节点接收数据

Cassandra:控制哪个节点接收数据,cassandra,partitioning,sharding,Cassandra,Partitioning,Sharding,我对Cassandra推荐的集群方法的理解是,通过对文档的唯一Id进行散列,确保集群中的每个节点都能接收到平等的数据分布。我的问题是,是否有办法改变这一点,并定义自定义密钥,以便“智能地”将文档路由到集群中的特定节点 在我的场景中,我的所有数据中都有与特定实体(思考客户项目任务项)相关的数据;我将有足够的项目,需要一些横向缩放;但是,每次搜索都将始终与给定的客户机项目任务相关,该任务的数据集仅为中等大小 有没有办法在Cassandra中创建这种类型的分区/路由(我见过同一事物的不同名称)逻辑 谢

我对Cassandra推荐的集群方法的理解是,通过对文档的唯一Id进行散列,确保集群中的每个节点都能接收到平等的数据分布。我的问题是,是否有办法改变这一点,并定义自定义密钥,以便“智能地”将文档路由到集群中的特定节点

在我的场景中,我的所有数据中都有与特定实体(思考客户项目任务项)相关的数据;我将有足够的项目,需要一些横向缩放;但是,每次搜索都将始终与给定的客户机项目任务相关,该任务的数据集仅为中等大小

有没有办法在Cassandra中创建这种类型的分区/路由(我见过同一事物的不同名称)逻辑

谢谢,;布伦特,我想这是我想要的答案


主键定义中声明的第一列,或者在复合键的情况下,多列可以声明构成主键的那些列。

Cassandra中的聚类方法不仅仅是为了数据的均匀分布。它还确保所有读/写操作都分布在集群中,以加快这些操作。除此之外,复制系数很可能大于1,以确保数据冗余,从而使节点故障不会导致数据丢失

回到你的问题和你自己的答案。如果您对数据使用相同的分区键,这将保证Cassandra分区将数据的主副本存储在同一节点上,甚至更重要的是,它将数据存储在同一分区中,以旧的命名方式(“宽行”)