群集不一致中的Couchbase视图

时间:2014-10-22 09:47:25

标签: couchbase couchbase-view

当我从Couchbase群集查询视图时, 每台机器会为视图查询返回相同的结果吗?

无论哪台机器实际响应请求,我都希望群集返回相同的响应。

2 个答案:

答案 0 :(得分:1)

您的应用程序依赖于一致的视图结果有多关键?请记住,Couchbase索引最终是一致的,这意味着群集不会同时全部更新,尤其是在数据量变化很大的情况下。因此,对于已经存在一段时间的数据,您可以期望机器之间的结果集一致;但是,最近更改的数据可能不会反映在最新的视图查询中。关键是要设计你的应用程序来处理这种情况。

答案 1 :(得分:0)

Couchbase视图的存储分布在群集节点上,就像数据一样。例如,在三节点集群上并且使用一个视图时,视图的1/3将位于集群的每个节点上。每个群集上的视图部分是与该节点上的vBuckets中的数据相对应的部分。因此,当您查询Couchbase视图时,它会转到每个节点以处理该查询。当您使用SDK时,这对您来说都是透明的,但这就是后台正在发生的事情。当重新平衡发生时,视图也会随着vBuckets移动而改变。默认情况下,IndexAwareRebalances设置为true。

您还必须了解视图的更新频率。默认情况下,如果有5000个数据突变则每5秒一次。不是或。可以调整这些默认值,但是如果您只有1000个突变,则索引器将不会自行运行。小心那个陈旧=虚假的事情。它可以让你在使用它时遇到麻烦,尤其是在重新平衡期间。

另外,要知道Couchbase非常一致,但观点最终是一致的。