Nosql 多映射/减少索引与关系连接

Nosql 多映射/减少索引与关系连接,nosql,relational-database,ravendb,Nosql,Relational Database,Ravendb,使NoSQL数据库更具可扩展性的关键因素之一是缺少连接操作,连接操作是关系数据库管理系统的重要组成部分。但同时,例如,RavenDb包含多贴图/减少索引功能,看起来类似于join 为什么连接会限制可伸缩性,而多映射/减少索引在解决非常相似的任务时却不会限制可伸缩性?这取决于您实际执行操作的时间。 连接操作通常是动态执行的,这意味着您在读取时会产生成本。这是很昂贵的,因为你查询的次数远远多于写作 RavenDB multi-map/reduce操作发生在后台,查询它们不需要计算成本。一旦索引完成,

使NoSQL数据库更具可扩展性的关键因素之一是缺少连接操作,连接操作是关系数据库管理系统的重要组成部分。但同时,例如,RavenDb包含多贴图/减少索引功能,看起来类似于join


为什么连接会限制可伸缩性,而多映射/减少索引在解决非常相似的任务时却不会限制可伸缩性?

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


RavenDB multi-map/reduce操作发生在后台,查询它们不需要计算成本。一旦索引完成,查询它基本上是免费的,当数据发生变化时,它只做任何额外的工作。

这里有两个误解值得纠正。首先,NOSQL定义了任何类型的数据库范例(而不仅仅是一个流行的软件产品集合的名称),它并不一定意味着非关系数据库。NOSQL仅仅意味着不是SQL或不仅仅是SQL。因此,NOSQL数据库很可能是关系数据库,并且可以支持连接

其次,连接不会限制可伸缩性。关系术语中的连接是逻辑操作,而不是物理操作。它可以通过许多不同的方式实现,包括使用Map/Reduce