Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Routing CouchBase:控制哪个节点/存储桶接收数据_Routing_Partitioning_Sharding_Couchbase Lite - Fatal编程技术网

Routing CouchBase:控制哪个节点/存储桶接收数据

Routing CouchBase:控制哪个节点/存储桶接收数据,routing,partitioning,sharding,couchbase-lite,Routing,Partitioning,Sharding,Couchbase Lite,我对couchBase集群方法的理解是,确保集群中的每个节点都接收到平等的数据分布。我的问题是,是否有办法改变这一点,并定义一个自定义密钥,以便“智能地”将文档路由到集群中的特定存储桶 在我的场景中,我的所有数据中都有与特定实体(思考客户项目任务项)相关的数据;我将有足够的项目,需要一些横向缩放;但是,每次搜索都将始终与给定的客户机项目任务相关,该任务的数据集仅为中等大小 我认为最有效的方法是按客户机项目任务对数据进行分区,并预先分配1000个分区 我知道在某一点上,这会限制我的扩展能力,但不必

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

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

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

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

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

或者-如果我的所有数据都跨所有存储桶发送,并且我定义了一个要查询的视图,那么每个查询是否都会“命中”我的所有记录以检查该记录是否匹配

例如,我可能有4亿个项目,但按客户项目任务计算,大约有10万个项目,所以最好搜索10万个项目,而不是4亿个项目

欢迎有任何想法、建议和评论

谢谢,;布伦特