首页 理论教育 分类介绍:NoSQL数据库

分类介绍:NoSQL数据库

时间:2023-06-24 理论教育 版权反馈
【摘要】:NoSQL是not only SQL的缩写。事实上,大多数NoSQL数据库都不是关系型数据库,不支持SQL语言。目前有各种各样的NoSQL数据库,我们只能粗略地将它们分为3类:列式存储或值键对存储。表2-1对NoSQL数据库和关系型数据库进行了比较。表2-1NoSQL数据库与关系型数据库通常,NoSQL数据库可以处理大数据和非结构化数据,但不支持事务处理和SQL。有很多系统尝试把关系型数据库和NoSQL数据库的优势结合起来。

分类介绍:NoSQL数据库

NoSQL是not only SQL的缩写。事实上,大多数NoSQL数据库都不是关系型数据库,不支持SQL语言。如今很多大数据都是非结构化或半结构化的,这就是NoSQL存在的依据。例如,大部分网页数据都不能很好地结构化(网页的结构各不相同)。传统的关系型数据库不适合存储这样的数据。

目前有各种各样的NoSQL数据库,我们只能粗略地将它们分为3类:

(1)列式存储或值键对存储。这种数据库通常以(列,时间戳,值)或是(键,值)的形式存储数据。其中的代表有BigTable(Google) 、 Hbase (Apache)和Accumulo (Apache)。

(2)文档型存储。这种数据库存储文档,通常以半结构化的形式(JSON, XML)。MongoDB是这类数据库中最流行的一个例子。

(3)图存储。这类数据库擅长存储图,例如AllegroGraph。

表2-1对NoSQL数据库和关系型数据库进行了比较。(www.xing528.com)

表2-1 NoSQL数据库与关系型数据库

通常,NoSQL数据库可以处理大数据和非结构化数据,但不支持事务处理和SQL。

有很多系统尝试把关系型数据库和NoSQL数据库的优势结合起来。有一些使用NoSQL作为底层存储,但提供了对SQL的支持。例如,Apache HIVE使用HDFS作为存储,但提供了类SQL的语言。SQL语句被转变成底层的操作(例如MapReduce任务)。不过,由于缺乏底层支持,这些系统依然无法支持事务处理。

关系型数据库提供商(Oracle, IBM, Microsoft)也提供了将NoSQL数据库连接到他们的关系型数据库的支持。非结构化的数据在NoSQL数据库中存储,从中抽取的结构化信息存储在关系型数据库里。抽取的过程通常通过MapReduce或者SQL查询实现(后者会在底层NoSQL数据库中转换成MapReduce操作)。这种方式的好处是用户仍然能使用那些针对关系型数据库的软件

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈