我一直在关注Couchbase中4.0的全球二级索引能力,现在已经改进了5.0中的自动重新平衡功能
在下面提到的视频中,GSI与通常存储在Map Reduce Views中的正常二级索引有很多好处。 GSI是基于节点的,而Map Reduce Views是基于本地和分区的。
听起来GSI是所有索引解决方案的灵丹妙药。 Map Reduce Views的一些显着优点是: *它对于高数据操作db更好 - 但是GSI能够推迟构建索引以减少问题,而且我倾向于看到查询变得更复杂并且与插入相比花费更多时间。 *可以使用javascript作为索引逻辑 - 我认为这只适用于极少数情况。
如果GSI如此优秀,那么它将成为默认指数吗? 我无能为力,但认为小型数据库(即小于1GB)不应该需要GSI。这听起来过于复杂。 是否有一些我不知道的东西,一个让人们选择正常指数而不是GSI的关键点?
参考文献:
答案 0 :(得分:1)
在某些情况下,首选MapReduced视图。
有关详细信息,请参阅此Couchbase forum post:
对于以下情况,将继续推荐视图:
- 使用Javascript逻辑作为查询的一部分
- 执行聚合(reduce),实现结果,然后在修改源数据时逐步维护结果。
醇>(2)对性能很重要,因为聚合结果基本上是预先计算的。