Routing CouchDB:控制哪个碎片接收数据

Routing CouchDB:控制哪个碎片接收数据,routing,couchdb,partitioning,sharding,horizontal-scaling,Routing,Couchdb,Partitioning,Sharding,Horizontal Scaling,我对couchDB集群方法的理解是,通过对文档的唯一Id进行散列,确保集群中的每个节点都接收到平等的数据分布。我的问题是,是否有办法改变这一点,并定义一个自定义密钥,以便“智能地”将文档路由到集群中的特定节点 在我的场景中,我的所有数据中都有与特定实体(思考客户项目任务项)相关的数据;我将有足够的项目,需要一些横向缩放;但是,每次搜索都将始终与给定的客户机项目任务相关,该任务的数据集仅为中等大小 我认为最有效的方法是按客户机项目任务对数据进行分区,并预先分配1000个分区 我知道在某一点上,这会

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

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

我认为最有效的方法是按客户机项目任务对数据进行分区,并预先分配1000个分区

我知道在某一点上,这会限制我的扩展能力,但不必为每次搜索都点击每个分区的权衡让我愿意为此付出代价

那么有没有办法在CouchDb中创建这种类型的分区逻辑呢


谢谢,;Brent

正如评论中提到的,CouchDB还没有对切分的内置支持。然而,随着couchdb2.0的不断合并和发布,将会出现一些问题。其来源来自Cloudant,因此您现在应该能够通过阅读他们的文档、白皮书和关于BigCoach的信息来了解它


在CouchDB最新的每周新闻中,有一条提到了即将在文档中写到这一点:

也许你应该试着在CouchDB邮件列表上问这个问题。好吧,couchdb目前没有阴影。它只有在couchdb 2.0问世时才可用。因此,只有核心开发人员知道这一切是如何运作的。好的,谢谢你的建议