多映射/减少索引与关系连接 [英] Multi Map / Reduce index vs. relational join

查看:61
本文介绍了多映射/减少索引与关系连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使 NoSQL 数据库更具可扩展性的关键因素之一是缺少连接操作,这是 RDBMS 的重要组成部分.但同时,例如 RavenDb 包含 Multi Maps/Reduce 索引功能,看起来类似于 join.

One of the key factors making NoSQL databases more scalable is absense of join operation which is essential part of RDBMS. But at the same time, for example, RavenDb contains Multi Maps / Reduce index feature which looks similar to join.

为什么连接会限制可扩展性,而 Multi Maps/Reduce 索引在解决非常相似的任务时却不会?

Why do joins limitate scalability but Multi Maps / Reduce indexes do not while they solve pretty similar tasks?

推荐答案

这取决于您实际执行操作的时间.联接操作通常是动态执行的,这意味着您会在读取时产生成本.这很昂贵,因为您查询的次数远多于写作.

It depends on when you are actually perform the operation. Join operations are usually executed on the fly, which means that your incur the cost at read time. That is expensive, since you are querying far more often than writing.

RavenDB 多 map/reduce 操作发生在后台,查询它们没有计算成本.索引完成后,查询基本上是免费的,只有在数据发生变化时才做额外的工作.

RavenDB multi map/reduce operations happen on the background, and querying them carry with it no computational cost. Once the index completed, querying it is basically free, and it only does any additional work when data changes.

这篇关于多映射/减少索引与关系连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆