Couchbase全球二级指数(GSI)与正常指数

时间:2017-08-07 17:42:02

标签: javascript indexing query-optimization couchbase nosql

我一直在关注Couchbase中4.0的全球二级索引能力,现在已经改进了5.0中的自动重新平衡功能

在下面提到的视频中,GSI与通常存储在Map Reduce Views中的正常二级索引有很多好处。 GSI是基于节点的,而Map Reduce Views是基于本地和分区的。

听起来GSI是所有索引解决方案的灵丹妙药。 Map Reduce Views的一些显着优点是: *它对于高数据操作db更好 - 但是GSI能够推迟构建索引以减少问题,而且我倾向于看到查询变得更复杂并且与插入相比花费更多时间。 *可以使用javascript作为索引逻辑 - 我认为这只适用于极少数情况。

如果GSI如此优秀,那么它将成为默认指数吗? 我无能为力,但认为小型数据库(即小于1GB)不应该需要GSI。这听起来过于复杂。 是否有一些我不知道的东西,一个让人们选择正常指数而不是GSI的关键点?

参考文献:

1 个答案:

答案 0 :(得分:1)

在某些情况下,首选MapReduced视图。

有关详细信息,请参阅此Couchbase forum post

  

对于以下情况,将继续推荐视图:

     
      
  1. 使用Javascript逻辑作为查询的一部分
  2.   
  3. 执行聚合(reduce),实现结果,然后在修改源数据时逐步维护结果。
  4.         

    (2)对性能很重要,因为聚合结果基本上是预先计算的。