NoSQL数据库概览 入门必备!

众所周知,NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用的难题。

一、NoSQL的出现

关系型数据库系统多年来在解决数据存储、服务和处理问题方面取得了巨大的成功。一些大型的公司使用关系型数据库建立了自己的系统,如联机事务处理系统和后端分析应用系统。联机事务处理(OLTP)系统用来实时记录交易信息。对这类系统的期望是能够快速返回响应信息(一般在毫秒级)。联机分析处理(OLAP)系统用来分析查询所储存的数据。OLAP属于商业智能的范畴,数据需要研究、处理和分析,以便收集信息,进一步驱动商业决策。

关系型数据库的内部设计由关系算法决定,这些系统需要预先定义一个模式(schema)和数据要遵守的类型。SQL是与这些系统交互的标准方式。但在对象-关系不匹配问题出现的场合,SQL就不是表达访问模式的最好方式了。例如目前炙手可热的大数据领域,关系型数据库不能很好地工作。

有关大数据常见定义包括:第一,大数据意味着数据足够大,为了从这些数据中获得一些真知灼见,你不得不研究它;第二,大数据就是不再适用于单台机器的数据。这些观点并不完整,我们需要用一种根本上不同的方式来考虑数据,从如何驱动商业价值的角度来考虑数据,这种数据就是大数据。

在大数据领域中,系统需要能够适应不同种类的数据格式和数据源,不需要预先严格定义模式,并且能够处理大规模数据。这样,NoSQL就出现了。

二、NoSQL的定义

NoSQL(NoSQL= Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动。NoSQL的拥护者们提倡运用非关系型的数据存储。大多数数据库技术不能保证支持ACID(原子性、一致性、隔离性和持久性),而且大部分技术都是开源项目,这些技术作为整体被称为NoSQL。

三、NoSQL的分类

一般将NoSQL数据库分为四大类:键值(Key-Value)存储数据库、列存储数据库、文档型数据库和图形(Graph)数据库。它们的数据模型、优缺点、典型应用场景如表1所示。

四、NoSQL的特征

NoSQL数据库并没有一个统一的架构,但是它们都普遍存在表2所示的一些共同特征。

五、常见的NoSQL数据库

比较适合采用NoSQL数据库的场合是:

(1)数据模型比较简单;

(2)需要灵活性更强的IT系统;

(3)对数据库性能要求较高;

(4)不需要高度的数据一致性;

(5)对于给定key,比较容易映射复杂值的环境。

常见的NoSQL数据库如表3所示。

看到这里大家应该对nosql有一定的了解了,可以看下我另外一篇文章介绍nosql数据库的,会详细很多。觉得有用的走波关注哦~