从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)

相关推荐

  • debug Q命令如何退出debug

    技术debug Q命令如何退出debug本篇文章给大家分享的是有关debug Q命令如何退出debug,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。   

    攻略 2021年11月11日
  • TiDB用什么保证备份的一致性

    技术TiDB用什么保证备份的一致性TiDB用什么保证备份的一致性,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。背景作为一名MySQL DBA,就应该了解

    攻略 2021年11月30日
  • 自己吊顶方法图解,塑料扣板吊顶怎么安装图解

    技术自己吊顶方法图解,塑料扣板吊顶怎么安装图解1、确定吊顶安装位置在安装之前,我们需要先明确它的安装位置以及安装高度,这样在安装时才不会手忙脚乱,才能提高安装效率自己吊顶方法图解。 当我们确定好安装高度后,需要用墨线在四

    生活 2021年10月27日
  • 如何分析OpenLayers3加载矢量地图源的问题

    技术如何解析OpenLayers 3加载矢量地图源的问题今天就跟大家聊聊有关如何解析OpenLayers 3加载矢量地图源的问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可

    攻略 2021年12月23日
  • GOF设计模式在Spring框架中怎么实现

    技术GOF设计模式在Spring框架中怎么实现GOF设计模式在Spring框架中怎么实现,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。GOF

    攻略 2021年10月27日
  • 如何才能让服务器保持稳定运行(怎么让自己的服务器更受欢迎)

    技术如何让服务器随时保持最佳状态今天就跟大家聊聊有关如何让服务器随时保持最佳状态,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。服务器的维护是运维工作的重点,如何通

    攻略 2021年12月22日