返回顶部
首页 > 资讯 > 数据库 >从SQL到NoSQL7种比较查询语言的指标分别是什么
  • 149
分享到

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

2024-04-02 19:04:59 149人浏览 安东尼
摘要

从sql到NoSQL7种比较查询语言的指标分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们将研究七个比较SQL和N

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

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

有些人也发现与NoSQL名称混淆。该缩写不仅代表“  SQL”,而且还可能被误解为“对SQL否”,因此,为了使用NoSQL数据库,组织将不仅需要将其关系数据模型转换为文档模型,而且还会获得有关他们将选择的NoSQL数据库api的培训。

实际上,NoSQL数据库行业从未放弃过最流行的数据库数据访问。许多NoSQL供应商仍在使用SQL的变体。 Cosmos DB, Cassandra  CQL, elasticsearch SQL, Cockroach Labs。即使使用 mongoDB查询  语言,您仍会发现它基于select-join-project构造,这是SQL中使用的关系代数的基础。

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

但是,在当今的NoSQL数据库市场中,有很多选择,并且对于希望确保其数据库技术投资可以利用NoSQL技术当前提供的所有好处的组织而言,结果可能带来许多挑战。

  1. 对结构化和非结构化数据的支持

  2. 商业硬件的水平可扩展性

  3. 易于管理架构演变

也许最重要的是,除了过去几十年来一直主导数据库市场的当前RDBMS供应商之外,还可以选择供应商。

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

  1. 简单

  2. 可读性

  3. 表现力

  4. 灵活性

  5. 技能专长

  6. 代码行

  7. 应用程序到服务器的行程数

可以在此GitHub 存储库中找到所有查询和数据库转储的示例,这些示例可以帮助部署和运行此报告中的所有方案。

Altoros报告方法

该报告的目的是从传统RDBMS应用程序的角度比较查询语言。为此,它选择了:

活动管理应用程序模型,通常在管理销售,服务和营销活动的大多数CRM系统中找到。报告设置包括用于mysql的关系模型和用于Couchbase和MongoDB的文档数据库模型。

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

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

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

对于每种情况,报告均提供以SQL,N1QL和MongoDB查询语言编写的相应解决方案,然后提供每种解决方案的评估。

评估标准结果

下表总结了所有查询方案的所有等级。请参阅该报告,以了解每种查询方案的单独评估。

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

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

笔记:

  • 与MongoDB,Cassandra和RedisLab一起工作的Altoros发现N1QL与SQL非常相似,并且始终给它比MongoDB查询语言更好的评级。

  • 方案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种比较查询语言的指标分别是什么

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

您可能感兴趣的文档:

--结束END--

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

本文链接: https://lsjlt.com/news/68501.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 从SQL到NoSQL7种比较查询语言的指标分别是什么
    从SQL到NoSQL7种比较查询语言的指标分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们将研究七个比较SQL和N...
    99+
    2024-04-02
  • SQL中简单的查询语句指的是什么
    今天就跟大家聊聊有关SQL中简单的查询语句指的是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。SQL中最简单的查询是从某个关系中查找满足条件的一...
    99+
    2024-04-02
  • 5种将淘汰的编程语言分别是什么
    5种将淘汰的编程语言分别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。现在的开发人员都趋向于使用新的编程语言,那么旧的编程语言呢它们的前途一般是这样两种:仍然可以使用...
    99+
    2023-06-16
  • sql连接查询语句中on、where筛选的区别是什么
    这篇文章将为大家详细讲解有关sql连接查询语句中on、where筛选的区别是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。来看一个示例,有两张数据表,结构和...
    99+
    2024-04-02
  • 5个编写SQL查询时常出现的错误分别是什么
    这篇文章将为大家详细讲解有关5个编写SQL查询时常出现的错误分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。SQL被广泛应用于数据分析和数据提取。易...
    99+
    2024-04-02
  • 游戏开发中常见的10种编程语言分别是什么
    今天就跟大家聊聊有关游戏开发中常见的10种编程语言分别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。游戏开发是非常有经验和熟练的程序员的工作。 它可能花费数亿美元。 这是一项非...
    99+
    2023-06-16
  • 将项目语言从Python转向Go的5个原因分别是什么
    这篇文章给大家介绍将项目语言从Python转向Go的5个原因分别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。前言Python是一个非常受欢迎的语言。但在企业世界中,能打的go并...
    99+
    2024-04-02
  • C语言实现猜数字游戏的两种方法分别是什么
    C语言实现猜数字游戏的两种方法分别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言猜数字小游戏是我们大多数人学习C语言时都会了解到的一个有趣的C语言小游戏,下面我将详细...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作