NoSQL简介

2009年在亚特兰大举行的”no:sql(east)”讨论会是一个里程碑,其口号是”select fun, profit from real_world where relational=false;”。因此,对NoSQL最普遍的解释是”非关联型的”,强调Key-Value存储和文档数据库的优点,而不是单纯的反对RDBMS。

NoSQL的迅速发展以及由于NoSQL中没有像传统数据库那样定义数据的组织方式为关系型的,所以只要内部的数据组织采用了非关系型的方式,就可以称之为NoSQL数据库。所以随之带来了开源社区上百种所谓的NoSQL数据库,让人眼花缭乱。对于NoSQL并没有一个明确的范围和定义,但是他们都普遍存在下面一些共同特征:

不需要预定义模式:不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。

弹性可扩展:可以在系统运行的时候,动态增加或者删除结点。不需要停机维护,数据可以自动迁移。

分布式:相对于将数据存放于同一个节点,NoSQL数据库需要将数据进行分区,将记录分散在多个节点上面。并且通常分区的同时还要做复制。这样既提高了并行性能,又能保证没有单点失效的问题。

BASE:相对于事务严格的ACID特性,NoSQL数据库保证的是BASE特性。BASE是最终一致性和软事务。

NoSQL优势:避免不必要的复杂性、高吞吐量、高水平扩展能力;比如随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

NoSQL劣势:数据模型和查询语言没有经过数据验证,没有坚实的理论基础;不支持ACID特性,当然使用SQL数据库可以解决这个问题;有些NoSQL数据库过于简单,比如Memcache只是一个内存数据库,适用于某些特性场景;最大的劣势就是没有统一的数据查询模型,每种NoSQL产品都有自己的语言使用方式。

由于NoSQL数据库并没有一个统一的架构,两种NoSQL数据库之间的不同,甚至远远超过两种关系型数据库的不同。可以说,NoSQL各有所长,成功的NoSQL必然特别适用于某些场合或者某些应用,在这些场合中会远远胜过关系型数据库和其他的NoSQL。

什么是NewSQL?

通过比较可以发现NoSQL跟SQL之间的对立性太强了,基于NoSQL跟SQL之间的某种差异,比如NoSQL有的功能SQL没有,如分布式、简单数据模型;而SQL有的特性NoSQL又没有,如ACID功能;当然不管哪种数据库,不管其劣势还是优势都有其适用的场景。而SQL很难实现分布式的原因在于,SQL自身的日志机制、锁机制以及缓冲区管理机制。于是就出来了NewSQL数据库的概念,所谓的NewSQL是什么呢?就是想柔和SQL与NoSQL独有的特性。

目前NewSQL大概有两类,第一类是拥有关系型数据库产品和服务,并将关系型数据库的好处与优势带入到分布式架构上,简单来说就是把ACID引入到分布式中;第二类是提供关系型数据库的性能,达到不用考虑水平扩展的方式,简单来说就是改变SQL架构使得它不用水平扩展,不用运行在分布式环境中就能够带来性能上的提升。对于第一类把ACID引入到分布式中去的产品有Clustrix、GenieDB、ScaleArc、ScaleBase、NimbusDB以及MySQL Cluster等。

NoSQL的分类?

总的来说,如今的数据库市场真是百花齐放,大概分类为SQL、NoSQL、NewSQL以及缓存数据库系统。而SQL和NewSQL不是本章讨论的主题,所以下面来说一说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,已经开源

图式数据库

图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。NoSQL数据库没有标准的查询语言(SQL),因此进行数据库查询需要制定数据模型。许多NoSQL数据库都有REST式的数据接口或者查询API。

数据模型:图结构模型

优点:利用图结构相关算法提高性能,并满足特殊场景应用需求

缺点:功能有限,且难以实现分布式

应用场景:社交网络推荐系统,比如好友推荐功能,关系图谱

典型产品:Neo4J, InfoGrid, Infinite Graph

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

\1. 数据模型比较简单;

\2. 需要灵活性更强的IT系统;

\3. 对数据库性能要求较高;

\4. 不需要高度的数据一致性;

\5. 对于给定key比较容易映射复杂值的环境。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/207333.html<

(0)
管理的头像管理
上一篇2025-04-08 12:08
下一篇 2025-04-08 12:09

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注