我想在couhbase中存储的一种文档可以在各种字段组合中查询。
我应该有多个视图对应于每种类型的查询,还是一个视图在所有查询中发出所有相关字段?
发出以下键的视图:
[blah_id, col1]
[blah_id, col2, timestamp]
[blah_id, timestamp]
[blah_id]
V / s
生成密钥的单个视图
[blah_id, col1, col2, timestamp]
(然后使用您在特定查询中不关心的列的最小值和最大值)
答案 0 :(得分:2)
在做出决定之前,您应该注意以下几个方面:
可维护性方面。在定义单个视图时,我怀疑您将拥有该视图的多个消费者......如果您需要更改该视图结构,该怎么办?这意味着更改将对所有现有视图使用者产生影响。但是,如果您定义为多个视图(每个特定功能消费者一个)...其中一个视图的更改将与其他消费者隔离。
表现方面。这取决于您的数据大小。如果您有一个视图,则应该询问它将返回与多个视图相对应的条目数。对于多个(可以说是较小的条目明智)观点,这会有效吗?
所以,如果我是你,我会进行一些大小调整和性能测试,以选择多视图和单视图方法。就个人而言,根据消费者可维护性方面,我更倾向于使用更多的多个视图。