在Cassandra或Couchbase中注入自定义切分
我可以注入切分算法来威慑Cassandra或Couchbase吗?在Cassandra或Couchbase中注入自定义切分,cassandra,couchbase,Cassandra,Couchbase,我可以注入切分算法来威慑Cassandra或Couchbase吗? 还是由他们决定每个文档的去向 例如,如果我想通过一个数据属性将数据固定到碎片上。Cassandra通过分区键决定数据的去向。因此,如果您使用您想要用作“pin”的数据作为分区键,那么我认为它将满足您的要求。但是,您不会显式地拾取复制副本,并且随着主机被删除并添加到集群中,复制副本可能会发生更改。Couchbase哈希文档的密钥,以决定文档应与哪个碎片(vBucket)相关联。当您希望通过文档的密钥检索文档时,SDK还使用相同的算
还是由他们决定每个文档的去向
例如,如果我想通过一个数据属性将数据固定到碎片上。Cassandra通过分区键决定数据的去向。因此,如果您使用您想要用作“pin”的数据作为分区键,那么我认为它将满足您的要求。但是,您不会显式地拾取复制副本,并且随着主机被删除并添加到集群中,复制副本可能会发生更改。Couchbase哈希文档的密钥,以决定文档应与哪个碎片(vBucket)相关联。当您希望通过文档的密钥检索文档时,SDK还使用相同的算法来查找文档所在的碎片 让开发人员决定分片算法的一个问题是,有时他们在一个分片中会有过多的文档,而这个分片自然会成为应用程序的瓶颈
Couchbase的核心概念之一是,文档(几乎)均匀分布在所有碎片之间,因此我不熟悉任何本地支持在其中插入您自己的算法。这个答案是正确的,但我只想补充一点,在Couchbase 5.5中,有一个索引分区的概念,这本质上允许您为索引(而不是数据)定义碎片。如果您基于也对其运行查询的字段进行分区,这将有助于提高性能。(见:)