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

相关推荐

  • Sequoiadb数据库快照的字段含义是什么(数据库快照的作用是什么)

    技术Sequoiadb数据库快照的字段含义是什么这篇文章主要介绍“Sequoiadb数据库快照的字段含义是什么”,在日常操作中,相信很多人在Sequoiadb数据库快照的字段含义是什么问题上存在疑惑,小编查阅了各式资料,

    攻略 2021年12月22日
  • 心形线,如何用几何画板画出笛卡尔心形线

    技术心形线,如何用几何画板画出笛卡尔心形线1心形线、新建参数。右键绘图区空白处,“新建参数”,标签为a,数值为4,单位“无”。
    2、快捷键“Ctrl+G”,调出绘制新函数编辑器。点“方程”,选极坐标方程。在编辑

    生活 2021年10月30日
  • windows平台bugfree3.0.3搭建心得是什么

    技术windows平台bugfree3.0.3搭建心得是什么windows平台bugfree3.0.3搭建心得是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易

    攻略 2021年10月25日
  • 如何分析ASP.NET三层结构及三层架构的缺点

    技术如何分析ASP.NET三层结构及三层架构的缺点如何分析ASP.NET三层结构及三层架构的缺点,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ASP.NET

    攻略 2021年11月26日
  • 今日头条邀请码,今日头条极速版填写邀请码教程

    技术今日头条邀请码,今日头条极速版填写邀请码教程1今日头条邀请码、若是想在今日头条极速版里面填写邀请码,大家需要从主页的右上角点击头像按钮,登录账号进入个人中心,从列表里找到“输入邀请码”的功能。2、进入到输入邀请码的页

    生活 2021年11月1日
  • php编译iconv错误的解决方法是什么

    技术php编译iconv错误的解决方法是什么这篇文章主要介绍“php编译iconv错误的解决方法是什么”,在日常操作中,相信很多人在php编译iconv错误的解决方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好

    攻略 2021年11月8日