加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

NoSQL究竟是什么?了解为什么NoSQL数据库不是传统数据库的对手

发布时间:2019-09-12 02:22:50 所属栏目:编程 来源:程序员新视界
导读:连年来,我们目击了NoSQL的鼓起,并调查它在各类应用中的应用。本文旨在对SQL和NoSQL技能举办客观较量,并实行澄清一些不明晰的方面,以辅佐人们认识地选择后端。 我对NoSQL的立场 统统都偶然刻,2014年我开始行使NoSQL。大概我迟到了,但我之前的项目需求

将多个嵌套数据生涯在单个文档中也许会丢失“SUM”,“COUNT”等说明成果。在第一次应用措施开拓时代这也许不是题目的坏事,但有人也许会在稍后扣问某些陈诉,那么在这种环境下该怎么做?在填凑数据库之后很难改变数据布局,而且因为明晰界说的数据布局的走漏,这样做也许具有不行猜测的影响。说明对付NoSQL来说是一个难点。

另外,固然有很多贸易器材可以毗连到传统数据库来打点说明部门,但对NoSQL体系的支持有限。

可以采纳的另一个办理方案是在NoSQL DB中复制某种与非布局化数据的“相关”,也许会建设很多集归并将工具与其他荟萃链接起来。假如您打算遵循此路径以应承说明陈诉,请记着,这也许会低落机能,使其与尺度SQL体系相媲美。当此DB中涉及的部门最小且记录数目有限时,这是可以接管的。无论怎样,纵然按照我的履历,结构应承插手NoSQL查询的数据,由于背后没有明晰界说的相关,很是有限而且机能不如我们预期的那么好(即,在撰写本文时) ,MongoDB不支持内毗连,每次只能进化到表而不建设姑且表)。

更少的器材

我们谈到了NoSQL查询说话和语法缺乏尺度化。这个题目也可以反应在器材中,以及大大都平台的年青性。我说的是用于查询的器材,也用于在数据库之间迁徙数据,打点备份等。虽然,大大都NoSQL项目正在增添,我们祈望器材会随之增添,以是这个题目会在某些时辰自动办理。

缺乏尺度化使第三方供给商难以构建可支持多种NoSQL办理方案的器材。另外,年青平台意味着更少的用户,更少的客户,更少的时刻来开拓成熟的器材。

机能较量

指定较量的方法很重要。起首,我必要将两种办理方案置于沟通的前提下。这意味着,譬喻,行使沟通的硬件并具有沟通的调解级别。以是我在统一台呆板上安装了MongoDB(最新版本)和SQLServer Express。由于我们对数据库自己的机能不感乐趣,以是我行使基于尺度框架的C#代码构建了我的基准测试。

通过这两种方法来生涯数据,统统都是共享的(实体,逻辑,数据天生)以确保公正。

我们将较量的全部操纵列表:

  • 质量插入
  • 扣问
  • 说明
  • 事宜(或更好,在NoSQL环境下,事宜模仿)

对单个实体的批量操纵

该基准测试包括一组可在较短时刻内插入的工具。行使越来越多的项目来复制此测试以生涯以证明两个体系中的机能局限。该基准测试以毫秒为单元丈量执行时刻,并僵持行使单个表/荟萃。

NoSQL毕竟是什么?相识为什么NoSQL数据库不是传统数据库的敌手

搜刮

此基准测试偏重于查询成果。我们将以下模式分隔:

  • CASE 1行使主键获取一个实体:此模式用于从DB获取单个实体,行使独一标识符
  • CASE 2完全扫描失败:当您要查找已删除的元素时,数据库必需在回覆“否”之前扫描全部索引。
  • CASE 3分页查询:一个伟大的查询,个中有一些过滤器,一个订单前提,而且您只想获取一页数据。

我建设了一些基准模仿上面差异比例的模式。在一个示例中,第一个基准假定5%的范例1的查询,70%的范例2和25%的范例3.该基准丈量以ms为单元的执行时刻。此基准测试僵持行使单个表荟萃。

您可以在git-hub上找到用于执行这些测试的全部代码。

第一个测试是在“小”数据集上,约莫2.500,000行。

对“更大”的数据集举办第二次测试,约莫5M行。

此基准测试突出表现了对索引的查询机能的重大改造,可是当行使MongoDB读取一组数据时,增益会低落而且在数据增进时保持不变。

NoSQL毕竟是什么?相识为什么NoSQL数据库不是传统数据库的敌手

买卖营业

我们知道NoSQL天下的事宜大多不受支持。我们也大白放弃买卖营业可以从演出中获益,一个题目是:我从中得到几多收益?我构建了这个基准来较量插入与一个与很多孩子相干的主行的事宜。基准测试的重点是执行时刻,以ms暗示。

NoSQL毕竟是什么?相识为什么NoSQL数据库不是传统数据库的敌手

Analytics(说明)

该基准专注于说明。假设我们有一个分类的主 - 具体数据模子,您但愿:

  • export:整个插手整体数据树
  • 陈诉:汇总全部类此外全部项目,即为全部客户提供发票金额
  • 要害绩效指标:总结全部总计总计具体小计

在内毗连后的4M行的基本上:

NoSQL毕竟是什么?相识为什么NoSQL数据库不是传统数据库的敌手

乐趣点

革命在科技规模是不行停止的。新技能带来了一些革命性的成果,但每每不得不打败开拓职员的先入之见。偶然他们会被误解,以是他们的瑕玷在他们受雇后就会呈现。

关于创新,我们必需“对立”人群:

  1. “热心”的人:但愿无前提地接管厘革,并筹备甜头理赏罚已往所做的统统,以便行使最后的技能;
  2. “守旧派”人:厌恶改变,甘愿保持其风俗,拒绝任何新技能。

在实际糊口中,我们必需保持中间位置,因此相识和相识新技能可觉得我们做些什么并筹备亏得项目必要之前回收新技能很是重要。“在事变中举办审讯”是一种也许导致不良效果的坏风俗。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读