多视图与单视图

时间:2014-12-22 17:24:12

标签: couchbase couchbase-view

我想在couhbase中存储的一种文档可以在各种字段组合中查询。

我应该有多个视图对应于每种类型的查询,还是一个视图在所有查询中发出所有相关字段?

发出以下键的视图:

[blah_id, col1]
[blah_id, col2, timestamp]
[blah_id, timestamp]
[blah_id]

V / s

生成密钥的单个视图

[blah_id, col1, col2, timestamp]

(然后使用您在特定查询中不关心的列的最小值和最大值)

1 个答案:

答案 0 :(得分:2)

在做出决定之前,您应该注意以下几个方面:

  1. 可维护性方面。在定义单个视图时,我怀疑您将拥有该视图的多个消费者......如果您需要更改该视图结构,该怎么办?这意味着更改将对所有现有视图使用者产生影响。但是,如果您定义为多个视图(每个特定功能消费者一个)...其中一个视图的更改将与其他消费者隔离。

  2. 表现方面。这取决于您的数据大小。如果您有一个视图,则应该询问它将返回与多个视图相对应的条目数。对于多个(可以说是较小的条目明智)观点,这会有效吗?

  3. 所以,如果我是你,我会进行一些大小调整和性能测试,以选择多视图和单视图方法。就个人而言,根据消费者可维护性方面,我更倾向于使用更多的多个视图。