【问题标题】:Apache couchDB good for pre-defined queries?Apache couchDB 适用于预定义查询?
【发布时间】:2018-01-16 21:45:18
【问题描述】:

我在When to use CouchDB over MongoDB and vice versa看到以下声明

用于累积、偶尔变化的数据,在这些数据上预先定义 将运行查询。版本控制很重要的地方。

我不确定预定义查询在这里意味着什么?

【问题讨论】:

    标签: nosql couchdb


    【解决方案1】:

    它被引用到 CouchDB 中的视图定义。预定义的查询被定义为由 CouchDB 索引的映射/缩减视图。

    这些视图在存储在数据库中的设计文档中定义(预定义) 到您发帖时,它基于 CouchDB 1.x 的功能,现在在 CouchDB 2.x 中,您可以使用 Mango Queries 进行动态查询表达式。

    【讨论】:

    • 您的意思是说我们不能从客户端(如 java 客户端)触发动态查询。我相信这里的视图是指存储在数据库端的 RDBMS 视图之类的东西?这些视图是否像 oracle 中的实体化视图(sql server 中的索引视图)?
    • 您可以在 CouchDB 2.x 中使用 _find 端点和 mango 查询表达式运行动态查询。索引物化视图可能是 CouchDB 视图的类似概念。它们是预先计算好的并存储在数据库中,但对视图的查询仅限于索引键过滤。
    • 物化视图的一个重要区别经常被忽视:CouchDB 视图是增量的。因此,如果您的数据库中有 1000 万个文档并添加一个文档,则只需重新计算该文档的视图。这也适用于编辑和删除。非常适合以阅读为主的场景,例如网络应用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多