Javascript Couchbase全局二级索引(GSI)与普通索引

Javascript Couchbase全局二级索引(GSI)与普通索引,javascript,indexing,query-optimization,couchbase,nosql,Javascript,Indexing,Query Optimization,Couchbase,Nosql,从4.0开始,我一直在关注Couchbase中的全局二级索引功能,现在改进为5.0中的自动重新平衡功能 在下面提到的视频中,与通常存储在Map Reduce视图中的普通二级索引相比,GSI有多个优点。GSI是基于节点的,而Map Reduce视图是基于本地和分区的 听起来GSI是所有索引解决方案的银弹。Map Reduce视图的一些显著优点包括: *对于高数据操作数据库来说,它更好——但是GSI能够延迟索引的构建,这减少了问题,而且我倾向于看到查询变得更复杂,与插入相比需要更多的时间。 *可以将

从4.0开始,我一直在关注Couchbase中的全局二级索引功能,现在改进为5.0中的自动重新平衡功能

在下面提到的视频中,与通常存储在Map Reduce视图中的普通二级索引相比,GSI有多个优点。GSI是基于节点的,而Map Reduce视图是基于本地和分区的

听起来GSI是所有索引解决方案的银弹。Map Reduce视图的一些显著优点包括: *对于高数据操作数据库来说,它更好——但是GSI能够延迟索引的构建,这减少了问题,而且我倾向于看到查询变得更复杂,与插入相比需要更多的时间。 *可以将javascript用于索引逻辑——我认为这只适用于极少数情况

那么,如果GSI这么好,它会成为默认索引吗? 我忍不住认为小型数据库(即小于1GB)不需要GSI。这听起来太复杂了。 我是否遗漏了一些东西,一个让人们选择正常索引与GSI的关键点

参考文献:

  • 政府物料供应处-
  • 版本5.0中的自动重新平衡-
  • GSI信息-

在某些情况下,首选地图缩小视图

有关详细信息,请参见:

我们会继续就下列情况提供意见:

  • 使用Javascript逻辑作为查询的一部分
  • 执行聚合(reduce),具体化结果,然后在修改源数据时增量维护结果
  • (2) 这对于性能很重要,因为聚合结果基本上是预先计算的