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

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

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

连年来,我们目击了NoSQL的鼓起,并调查它在各类应用中的应用。本文旨在对SQL和NoSQL技能举办客观较量,并实行澄清一些不明晰的方面,以辅佐人们认识地选择后端。

我对NoSQL的立场

统统都偶然刻,2014年我开始行使NoSQL。大概我迟到了,但我之前的项目需求完全被传统数据库所满意,以是我没有被迫进修NoSQL。

NoSQL技能被隐秘的光环所困绕。我第一次发明开拓职员有一件名为“NoSQL”的对象,他穿戴一件带有“向我扣问MongoDB”标志的T恤。我其时没有问过。我被谜底吓到了,我画得很长很伟大。然后我看到两个差异的方面:谁是NoSQL的重要敦促者,他们厌恶旧数据库,而传统开拓职员则拒绝NoSQL的全部甜头。

当我意识到这种环境时,我确信我会发明并进修。这让我进入了一个小项目,我将这两个办理方案与基准举办较量,以表现NoSQL的全部利益和限定。最后,我领略NoSQL和SQL只是为差异项目计划的差异器材(纵然在某些环境下你必要两者)。五年后,我无法确定文化差距是否已经弥补。这就是为什么我革新文章,切割无聊的部门,我在这里从头颁发。

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

什么是NoSQL

简朴来说,NoSQL是一个不遵循相关数据库模子的新数据存储后端。这意味着我们所说的“容器”与传统的基于SQL的后端的事变方法差异。

NoSQL技能的降生是为了满意传统数据库已经成熟时呈现的一系列新需求。虽然,在最近几年,应用措施需求产生了变革,变得越发挑剔(大数据,集群,文件存储库),因此这个新的存储体系的计划思量到了这些新的需求。

可是,我的意思是“要求”?这里有一组NoSQL旨在支持的案例。

  • 该应用措施行使大量数据(大数据)
  • 该应用措施行使快速变动相关和数据范例(半布局化,非布局化和多态数据)的数据。
  • 开拓职员行使火速要领在一个小团队中事变:针对恒久瀑布迭代的很多小冲刺
  • 作为处事的应用措施可以在Web上宣布
  • 为数千名用户而非公司内部的少数人提供的应用措施
  • 对应用措施的将来负载必然不确定:必要具有可扩展性和动态性,必要轻松地在后端集群上行使基本软件

市场上提供了很多NoSQL办理方案,无论是开源还长短开源。它们中的每一个都有所差异,也许专门针对某些特定需求,但根基头脑和配合特性是提供更好的可扩展性和机能。为此,他们放弃了通用RDBMS的一些成果,引入了新成果,但保存了足够的成果。

NoSQL实现

SQL DB的一个重大变革是SQL后端是一个通用存储体系,NoSQL分发专注于特定范例的数据。这应承DB在其范畴内更有用,并应承我们拥有更高机能的体系。在本节中,我们将接头NoSQL数据库的应用措施。请留意,它们可以一路行使(也可以与传统的SQL系同一路行使),以便从差异的技能中得到最佳结果。

文档导向

这种范例的数据库不必要具有同等的数据布局,因此当您必需处理赏罚多态数据或数据布局不绝变革时,它们很是有效。这种后端可以将尺度化实体(如键值数据集或EAV模子)转换为简朴的文档集。

  • 方针:存储非范例的“记录”集,称为“文档”
  • 示例: MongoDB,CouchDB
  • 方针:异构数据,面向事变,火速开拓

图数据库

我们被奉告NoSQL数据库已经删除了相关的观念以实现更好的机能。在这种DB中,这不是真的。相反,图形数据库逼迫执行相关观念。

他们的方针是通过与其他数据的相关来界说数据。当大大都数据布局被计划为保持与实体的相关时(即,当存在大大都外键列时,假若有许多表),这种数据库也许很有效。

  • 方针:描写数据相关
  • 示例: Neo4j,GiraffeDB。
  • 方针:数据发掘

键值市肆

这是一种用于存储大量键值对数据的DB。当数据库用于存储属性,转换或缓存目标时,这也许很有效。

  • 方针:以键值情势存储数据
  • 示例: Redis,Cassandra,MemcacheDB
  • 方针:键值存储
NoSQL的利益

我们知道NoSQL DB有一些风趣的利益,它们可以办理传统RDMS无法办理的题目。现在,他们在要害体系中的大量事变,如大型云体系和一些大型SaaS产物,确认它们已经成熟且有效。但题目是,为什么我应该转向他们?在这种环境下,何时移动有利可图?我们不能只按照我们的印象做出这样的抉择,并阅读一些供给商宣传册,个中NoSQL很是酷是不足的。并且,我们不能由于畏惧变革而逗留在不充实的平台上。

在本节中,我将实行表明为什么这个办理方案可以很好地转移到哪个用例使其更有利可图。

正如我们所说,NoSQL数据库的建设是为了相应传统相关数据库技能的范围性。这意味着我们会发明一些改造,可能更好的是,传统RDBMS中的某些成果不存在且无法添加,纵然出产者会实现它们。

NoSQL的利益包罗易于处理赏罚的成果:

  • 大数据:行使这个术语,我们描写了包括大量数据的数据集。
  • 可变数据:数据也可所以布局化的,半布局化的和非布局化的。NoSQL还可以打点数据转换。
  • 动态开拓:在我们必要火速冲刺,快速迭代,频仍代码推送以及总结以相应变革的情形中,拥有一个包括动态的数据库长短常有辅佐的。
  • 面向工具:易于行使且机动的编程
  • 可扩展:我们可以轻松实现高效,可扩展的架构,而不是昂贵的单片架构。纵然在传统的数据库中,我们也能做到这一点,但它更难,更有限。
  • 开源:大大都办理方案都是开源的,因此无需容许证

综上所述:

NoSQL数据库更具可扩展性并提供更好的机能,而且它们的数据模子更靠近应用措施内部行使的域模子。基于NoSQL数据库启动项目标公司数目正在增添。NoSQL数据库也每每是开源的,这意味着开拓,实现和共享软件的本钱相对较低。

NoSQL的限定

在评估NoSQL数据库的范围性时,重要的是要记着NoSQL天下是一个多样化的生态体系。并非全部NoSQL存储产物都具有沟通水平的全部弱点。这是一件功德,由于这意味着在衡量差异NoSQL办理方案的优弱点时,组织有许多选择,以抉择哪一个最得当他们的特定需求。本章总结了行使NoSQL办理方案也许会漏掉的一些成果。

(编辑:湖南网)

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

热点阅读