NoSQL是什么?NoSQL的特点有哪些?

10个月前 (07-22 16:35)阅读104回复0
wait
wait
  • 总版主
  • 注册排名2
  • 经验值0
  • 级别网站编辑
  • 主题0
  • 回复0
楼主

  NoSQL一词最早出现于1998年,它是Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库。CarloStrozzi认为,由于NoSQL.悖离传统关系数据库模型,因此,NoSQL应该有一个全新的名字,例如NoREL或与之类似的名字。

  2009年,Last.fm的Johan Oskarsson(约翰·奥斯卡森)发起了一次关于分布式开源数据库的讨论,来自Rackspace的Eric Evans(埃里克·埃文斯)再次提出了NoSQL的概念,这时的NoSQL主要指非关系型、分布式、不提供ACID的数据库设计模式。

  2009年在亚特兰大举行的“no:sql(east)”讨论会是一个里程碑,该讨论会的口号是“select fun,profit from real world where relational=false:”。因此,对NoSQL最普遍的解释是“非关系型的”,主要是强调键值存储和文档存储数据库的优点,而不是单纯地反对关系数据库。

  现如今,大家看到NoSQL这个词,可能会误以为是“No!SQL”的缩写,并深感诧异:“SQL怎么会没有必要了呢?”,实际上,NoSQL是Not OnlySQL的缩写,它的含义为“不仅仅是SQL”。NoSQL是一种非关系型、分布式、无须遵循ACID原则、不提供SQL功能的数据库,是对关系型数据库在灵活性和扩展性上的补充。NoSQL.的出现主要是解决大规模数据集合下数据种类多样性带来的挑战,尤其是大数据应用难题。

  NoSQL具有“易扩展”“高性能”“灵活的数据模型”以及“高可用”等显著特点,这些特点的具体介绍如下。

  1.易扩展

  虽然NoSQL数据库的种类繁多,但是它们都拥有一个共同的特点,即去掉关系数据库的关系型特性。数据之间均无关系,这就使得数据库可以非常容易地扩展,这是完全区别于传统关系型数据库的一大特性。

  2.高性能

  NoSQL.数据库具有高并发读写性能,这一点在海量数据的处理上表现得尤其明显。这一点是得益于NoSQL.数据库的无关系性,NoSQL.数据库的结构比较简单。我们都知道,传统的关系数据库MySQL.使用QueryCache,每更新一次数据表,cache就会失效,在Web2.0时代,短时间内会有大量数据进行频繁的交互应用,这样一来,cache性能和效率就会不高。而NoSQL.的cache是记录级的,是一种细粒度的cache,所以与传统关系数据库相比较而言,NoSQL在这个层面上来说性能就要高很多。

  3.灵活的数据模型

  NoSQL数据库不需要事先为存储的数据建立相应的字段,用户可以随时存储自定义的各种数据格式。而在关系数据库里,需要在数据表里增加或者删除字段是一件非常麻烦的事情,尤其是在非常大的数据表里,增加字段简直就是一个蛋梦,这点在大数据量的Web2.0时代尤其明显。

  4.高可用

  NoSQL在不太影响性能的情况下,可以方便地实现高可用的架构。例如,Cassandra、HBase模型,我们甚至可以通过复制模型来实现NoSQL.的高可用。


本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。

本文地址:https://www.pyask.cn/info/36.html

0
回帖

NoSQL是什么?NoSQL的特点有哪些? 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息