千家信息网

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

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,从SQL到NoSQL7种比较查询语言的指标分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们将研究七个比较SQ
千家信息网最后更新 2025年01月23日从SQL到NoSQL7种比较查询语言的指标分别是什么

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

我们将研究七个比较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,N1QL和MongoDB查询语言编写的相应解决方案,然后提供每种解决方案的评估。

评估标准结果

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

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

笔记:

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

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

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

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

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

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

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

客户端服务器行程数

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

笔记:

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

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

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

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

查询 数据 语言 数据库 报告 方案 模型 服务 代码 应用程序 服务器 程序 应用 评估 文档 标准 结构 帮助 选择 结果 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发 申请专利 南浔网络技术招聘 成都市公安局大运会网络安全 猎杀游戏版本和服务器 逆战无法登陆服务器超时 电脑连接服务器的账号是啥 深圳计算机网络技术专科学校 最流行的软件开发是什么 数据库结构原理图解 服务器电脑有啥缺点 苏州黑马网络技术 郑州网络安全科技馆位置 自学网络安全能找到工作吗 数据库bak文件还原 软件开发团队口号完整免费版 打印机联机显示重启打印服务器 国家网络安全大会宣传标语 宝山区咨询网络技术服务常见问题 指峰网络技术 nas服务器信息管理系统 智能门锁软件开发环境 数据库的日志已满mysql 做到高级软件开发后能做什么 剑三双线服务器 自动更新到最新日期的数据库 sum like 数据库 轻量应用服务器部署后端 连云港上云网络技术有限公司 湖南pdu服务器专用电源价格表 国家网络安全参与企业
0