首页 小编推荐正文

NoSQL(not only sql,不仅仅是SQL),是一项全新的数据库革命性运动,泛指非联系型数据库,关于NoSQL这个新式的名词,每个人的了解都不同。其实NoSQL一词最早呈现于1998年,是Carlo Strozzi开发的一个轻量、开源、不供给SQL功用的联系数据库。可是直到2009年,Johan Oskarsson发起了一次关于分布式开源数据库的评论,来自Rackspace的Eric Evans再次提出了NoSQL的概念,这时的NoSQL首要指非联系型、分布式、不供给ACID的数据库规划形式。

2009年在亚特兰大举办的”no:sql(east)”评论会是一个里程碑,其标语是”select fun, profit from real_world where rela李左飞tional=false;”。因而,对NoSQL最遍及的解说是”非相关型的”,着重Key-Value存储和文档数据库的长处,而不是单纯的对立RDB爱专教MS。

NoSQL的敏捷开展以及因为NoSQL中没有像传统数据库那样界说数据的安排方法为联系型的,所以只需内部的数据bycicle安排选用了非联系滕砹型的方法,就可以称之为NoSQL数据库。所以随之带来了开源社区上百种所谓的NoSQL数据库,让人目不暇接。关于NoSQL并没外蒲岛有一个清晰的规模和界说,可是他们都遍及存在下面一些一同特征:

渝税网

不需求预界说形式:不需求事前界说数据形式,预界说表结构。数据中的每条记载都或许有不同的特色和格局。当刺进数据时,并不需求预先界说它们的形式。

弹性可扩展:可以在体系运转的时分,动态添加或许删去结点。不需求停机保护,数据可以主动搬迁。

分布式:相关于将数据存放于同一个节点,NoSQL数据库需求将数据进行分区,将记载涣散在多个节点上面。而且一般分区的一同还要做仿制。这样既进步了并行功用,又能确保没有单点失效的问题。

BASE:相关于业务严厉的ACID特性,NoSQL数据库确保的是BASE特性。BASE是终究一致性和软业务。

NoSQL优势:防止不必要的复杂性、高吞吐量、高水平扩展才能;比方跟着互联网web2.0网站的鼓起,传统的联系数据库在敷衍web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站现已显得无能为力,暴露了许多难以克服的问题,而非联系型的数据库则因为朴延美其本身的特色得到了十分敏捷的开展。NoSQL数据库的发生便是为了处理大规模数据调集多重数据品种带来的应战,海绵宝宝,NoSQL是什么?,恒易融尤其是大数据运用难题。

NoSQL下风:数据模型和查询言语没有经过数据验证,没有坚实的理论基海绵宝宝,NoSQL是什么?,恒易融础;不支持ACI何树军D特性,当然运用SQL数据库海绵宝宝,NoSQL是什么?,恒易融可以处理这个问题;有些NoSQL数据库过于简略,比方Memcache仅仅一个内存数据库,适用于某些特性场景;最大的下风便是没有一致的数据查询模型,每种NoSQL产品都有自己的言语运用方法。

因为NoSQL数据库并没有一个一致郑自立的架强干构,两种NoSQL数据库之间的不同,乃至远远超越两种联系型数据库的不同。可以说,NoSQL各有所长,成功的NoSQL必定特别适用于某些场合或许某些运用,在这些场合中会远远胜过联系型数据库和其他的NoSQL。

什么是NewSQL?

经过比较可以发现NoSQL跟SQL之间的对立性太强了,根据NoSQL跟SQL之海绵宝宝,NoSQL是什么?,恒易融间的某种差异,比方NoSQL有的功用SQL没有,如分布式、简略数据模型;而SQL有的特性NoSQL又没有,如ACID功用;当然不论哪种数据库,不论其下风仍是优势都有其适用的场景。而SQL很难完成分布式的原因在于,SQL本身的日志机制、锁机制以及缓冲区管理机制。于是就出来了NewSQL数张国荣复生事情据库的概念,所谓的NewSQL是什么呢?便是想柔软SQL与NoSQL独有的特性。

现在NewSQL大约有两类,第一类数到三不哭是具有联系型数据库产品和效劳,并将联系型数据库的长处与优势带入到分布式架构上,简略来说便是把ACID引进到分布式中;第二类是供给联系型数据库的功用,到达不必考虑水平扩展的方法,简略来说便是改动SQL架构使得它不必水平扩展,不必运转在分布式环境中就可以带来功用上的进步。关于第一类把ACI海绵宝宝,NoSQL是什么?,恒易融D引进到分布式中去的产品有Clustrix、GenieDB、ScaleArc、ScaleBase、NimbusDB以及MySQL Cluster等。

NoSQL的分类?

总的来说,现在的数据库商场真是百家争鸣,大约分类为SQL、NoSQL、NewSQL以及缓存数据库体系。而SQL和NewSQL不是本章评论的主题,所以下面来说一说NoSQL数据库。

首要需求清晰的一点,NoSQL数据库并不是要替代现在海绵宝宝,NoSQL是什么?,恒易融广泛运用的传统数据库,而是选用一种非联系型的方法处理数据的存储和核算的问题。福利相片现在,可以将很多的NoSQL数据库依照内部的数据安排形式进行如下分类:

键值(Key-Value)存储数据库

这一类数据库首要会运用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key-value模型关于IT体系来说的优势在于简略、易布置。可是假如DBA只对部分值进行查询或更新的时分,Key-value就显得功率低下了。

数据模型:key-value

长处:查找速度快

缺陷:数据无结构,一般只被作为字符串或二进制数据

运用场景:内容缓存

典型产品:Tokyo,Redis(一键多值),Dynamo ,Oracle BDB以及Memcache(一键一值),但Memcache虽然是Key-avlue存储可是它是缓存数据库。

列存储数据库

望文生义,是按列存储数据的。最大的特色是便利存储结构化和半结构化数据,便利做数据压缩,对针对某一列或许某几列的查询有十分大的IO优势。爱惟侦办

数据模型:数据按列存储、将同一列数据存在一同

长处:查找敏捷、可扩展性强、易于完成分布式

缺陷:功用相对SQL很有限

运用场景:分布式文件体系或分布式存储

典型产品:Cassandra, HBase,陈乐荣 Bigtable

文档型数据库

文档型数据库的创意是来自于Lotus Notes工作软件的,而且它同第一种键值存储相相似。该类型的数据模型是版别化的文档,半结构化的文档以特定的格局存储,比方JSON。文档型数据库可 以看作是键值数据库的升级版,答应之间嵌套键值。而且文档型数据库比键值数据库的查询功率更高。

数据模型:与键值模型相似,但value指向相似一个容器(文档),容器内有一组信息

长处:数据格局要求不严厉,无须提早界说结李妍静构,每个文档字段随意

缺陷:查询功用不高(比SQL或许略微好点),缺少一致查询语法

运用场景:只需不需求ACID就可以运用

典型产品:CouchDB, MongoDB,国内也有文档型数据库SequoiaDB,现已开源

图式数据库

图形结构海绵宝宝,NoSQL是什么?,恒易融的数据库同其他队伍以及刚性结构的SQL数据库不麦妙璇同,它是运用灵敏的图形模型,而且可以扩展到多个效劳器上。NoSQL数据库没有规范的查询言语(SQL),因而进行数据库查询需求拟定数据模型。许多NoSQL数据库都有REST式的数据接口或大连交通大学图书馆者查询API。

数据模型:图结构模型

长处:使用图结构相关算法进步功用bilbilbil,并满意特别场景运用需求

缺陷:功用有限,且难以完成分布式

运用场景:交际网络引荐体系,比方老友引荐功用,联系图谱

典型产品:Neo4J, InfoGrid, Infinite Graph

因而,咱们总结NoSQL数据库在以下的这几种情况下比较适用:

规划 开发 互联网
声明:该文观念仅代表作者自己,搜狐号系信息发布渠道,搜狐仅供给信息存储空间效劳。
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。