从SQL到NoSQL7种比较查询语言的指标分别是什么

技术从SQL到NoSQL7种比较查询语言的指标分别是什么从SQL到NoSQL7种比较查询语言的指标分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望

从SQL到NoSQL7的七种比较查询语言的指标是什么?很多新手对此不是很清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。

我们将研究七个指标来比较SQL和NoSQL。

有些人还觉得它和NoSQL的名字混淆了。这个缩写不仅代表“SQL”,还有可能被误解为“对SQL说不”。因此,为了使用NoSQL数据库,组织不仅需要将其关系数据模型转换为文档模型,还需要接受他们将选择的NoSQL数据库应用编程接口的培训。

事实上,NoSQL数据库行业从未放弃最流行的数据库数据访问。许多NoSQL供应商仍在使用SQL的变体。宇宙数据库,卡珊德拉SQL,弹性搜索,蟑螂实验室。即使使用MongoDB查询语言,您仍然会发现它是基于select-join-project构造的,这是SQL中使用的关系代数的基础。

这个NoSQL领域的一家数据库公司(已经完全解决了这个问题)是Couchbase及其N1QL查询语言。Couchbase虽然以原生JSON格式存储数据,但它支持的数据模型可以是关系结构,也可以是层次结构,由于其灵活性和可扩展性,在基于文档的模型中经常用到。这是可能的,因为Couchbase提供了一种类似于SQL -N1QL的查询语言,它扩展了SQL语言,允许用户操作文档模型的层次结构。这些都是基于带有关键API的Couchbase高性能数据服务。

然而,在今天的NoSQL数据库市场,有许多选择,对于那些希望确保其数据库技术投资能够利用NoSQL技术目前提供的所有优势的组织来说,结果可能会带来许多挑战。

支持结构化和非结构化数据

商用硬件的水平可扩展性

易于管理的架构演进

也许最重要的是,除了目前统治数据库市场几十年的RDBMS供应商,你还可以选择供应商。

为了帮助客户做出决策,Altoros(一家致力于帮助公司从旧的IT系统过渡到未来的公司)发布了一份查询比较报告,以比较当今最流行的数据库中的查询语言。它选择专注于MySQL/SQL、Couchbase N1QL和MongoDB查询语言。以下条件用于评估每种查询语言的实现,以满足不同的查询方案。

简单的

可读性

可被代表

灵活性

技能和专业知识

代码行

从应用程序到服务器的往返次数

您可以在这个GitHub存储库中找到所有查询和数据库转储的示例,这可以帮助您部署和运行该报告中的所有场景。

Altoros报告方法

本报告的目的是从传统关系数据库管理系统应用程序的角度比较查询语言。为此,它选择了:

活动应用程序模型通常出现在大多数管理销售、服务和营销活动的客户关系管理系统中。设置包括MySQL的关系模型,以及Couchbase和MongoDB的文档数据库模型。

从SQL到NoSQL7种比较查询语言的指标分别是什么

它还使用这些系统的大多数用户都能识别的一组查询方案。

从SQL到NoSQL7种比较查询语言的指标分别是什么

在每种情况下,报告都会提供用SQL、N1QL和MongoDB查询语言编写的相应解决方案,然后提供对每个解决方案的评估。

评估标准结果

下表总结了所有查询方案的所有级别。各查询方案的单项评价请参考报告。

该报告参考了MySQL-SQL,并根据许多标准评估了Couchbase N1QL和MongoDB查询语言。

从SQL到NoSQL7种比较查询语言的指标分别是什么

笔记:

与MongoDB、Cassandra和RedisLab合作的Altoros发现N1QL与SQL非常相似,并且总是给它比MongoDB查询语言更好的评级。

li>

方案3的示例代码显示,对于简单查询,这三种查询语言相对相似,并且具有相似的评估标准评分。但是,差异出现在查询场景中,其中文档JOIN和Aggregations

从SQL到NoSQL7种比较查询语言的指标分别是什么

该图表显示了每个查询的代码行数。尽管此度量标准可能会出现错误表述,因为所有查询语言都有自己推荐的格式,但它可以提供有关复杂性的简单指南。

  • N1QL查询语言的代码行数与SQL大致相同。

  • MongoDB查询语言始终具有更多的代码行。

  • 对于场景7,Altoros团队必须为MongoDB查询语言编写347行,而N1QL为21行。这个异常值反映了MongoDB查询语言在计算复杂聚合和通用表表达式(CTE)方面的局限性,在过去的几十年中,SQL(现在是N1QL)一直是关系数据库技术的主要优势。

从SQL到NoSQL7种比较查询语言的指标分别是什么从SQL到NoSQL7种比较查询语言的指标分别是什么

请注意,这是Altoros团队提供的MongoDB查询解决方案。与任何实现一样,可能还有其他方式编写Mongo代码,但这就是团队想出的。

客户端服务器行程数

从SQL到NoSQL7种比较查询语言的指标分别是什么

该图显示了应用程序必须提交给数据库服务器的行程数。

笔记:

  • 在大多数情况下,SQL / N1QL只需要向服务器提交一个查询,而MongoDB查询可能导致多个部分,因此需要多次访问后端服务器。这是由于SQL /  N1QL的表现力所致,其中应用程序开发人员只需要声明所需的输出,并由服务器来处理并返回结果。

  • 缺乏复杂聚合的支持要求MongoDB在多个阶段执行其计算。这类似于标准的SQL子查询方法。此处的区别在于,子查询结果集需要在客户端应用程序中维护,然后再传递给另一个查询。

从SQL到NoSQL7种比较查询语言的指标分别是什么

Altoros查询比较报告-主要发现

从SQL到NoSQL7种比较查询语言的指标分别是什么

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/126946.html

(0)

相关推荐

  • HashMap和HashTable的区别以及常见面试题是什么

    技术HashMap和HashTable的区别以及常见面试题是什么本篇文章为大家展示了HashMap和HashTable的区别以及常见面试题是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你

    攻略 2021年12月8日
  • 抖音刷粉网站,抖音刷粉丝会被发现吗?

    技术抖音刷粉网站,抖音刷粉丝会被发现吗?时下抖音是当前国内主流,极火爆,极具人气的产品。当你在网上找抖音刷粉丝刷赞大师和米勒抖音刷粉丝软件怎么刷粉丝方法的时候会出现几万条的相关信息.
    抖音刷粉丝大家一定要选择正规的网站平

    测评 2021年11月10日
  • html中一个表格由哪些部分组成

    技术html中一个表格由哪些部分组成本篇内容主要讲解“html中一个表格由哪些部分组成”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html中一个表格由哪些部分组成”吧!

    攻略 2021年11月17日
  • 怎么用C语言完整实现2048游戏

    技术怎么用C语言完整实现2048游戏这篇文章主要介绍怎么用C语言完整实现2048游戏,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、游戏思路1、程序开始时出现菜单,让玩家选择开始游戏或者退出游戏

    攻略 2021年11月21日
  • 执行truncate触发ORA-02266解决过程是怎样的

    技术执行truncate触发ORA-02266解决过程是怎样的这篇文章给大家介绍执行truncate触发ORA-02266解决过程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。开发提了个需求

    攻略 2021年12月8日
  • 怎么使用R语言中的scatterplotMatrix来绘制散点图矩阵

    技术怎么使用R语言中的scatterplotMatrix来绘制散点图矩阵本篇文章给大家分享的是有关怎么使用R语言中的scatterplotMatrix来绘制散点图矩阵,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完

    攻略 2021年11月9日