随着Internet上Web 2.0网站的兴起,传统的关系数据库已无法处理Web 2.0网站,尤其是超大型,高并发SNS型web2.0纯动态网站,并且存在许多无法克服的问题。但是,非关系数据库由于其自身的特性而迅速发展。创建NoSQL数据库是为了解决大规模数据收集中多种数据类型带来的挑战,尤其是大数据应用程序的问题。那么,NoSQL是什么?NoSQL数据库有哪些?
NoSQL是什么?
NoSQL 是 Not Only SQL 的缩写,意思是“不仅仅有 SQL”,而不是大家通常理解的“不使用 SQL”。
NoSQL 数据库也即非关系型数据库,它是在大数据的时代背景下产生的,它可以处理分布式、规模庞大、类型不确定、完整性没有保证的“杂乱”数据,这是传统的关系型数据库远远不能胜任的。
NoSQL 数据库并没有一个统一的模型,两种不同的 NoSQL 数据库之间的差异程度,远远超过两种关系型数据库之间的不同。可以说,NoSQL 数据库各有所长,一个优秀的 NoSQL 数据库必然特别适用于某些场合,在这些场合中会远远胜过关系型数据库或者其它 NoSQL 数据库。
这套 NoSQL 入门教程除了会介绍数据库相关的概念,还会对比各种 NoSQL 数据库,以及它们和关系型数据库之间的区别。
NoSQL数据库有哪些?
关系型数据库产品很多,如 MySQL、Oracle、Microsoft SQL Sever 等,但它们的基本模型都是关系型数据模型。NoSQL 并没有统一的模型,而且是非关系型的。
常见的 NoSQL 数据库包括键值数据库、列族数据库、文档数据库和图形数据库。
1.键值数据库
这一类数据库主要会使用到一个散列表,这个表中有一个特定的键和一个指针指向特定的数据。
键值模型对于 IT 系统来说,其优势在于简单、易部署。键值数据库可以按照键对数据进行定位,还可以通过对键进行排序和分区,以实现更快速的数据定位。
2.列族数据库
列族数据库通常用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。
此列族数据库表中由两行组成,每一行都有关键字 Row Key,每一行由多个列族组成,即 Column-Family-1 和 Column-Family-2,而每个列族由多个列组成。
3.文档数据库
文档数据库的灵感来自 Lotus Notes 办公软件,它与键值数据库类似。该类型的数据模型是版本化的文档,文档以特定的格式存储,如 JSON。
文档数据库可以看作键值数据库的升级版,允许之间嵌套键值。
文档数据库比键值数据库的查询效率更高, 因为文档数据库不仅可以根据键创建索引,同时还可以根据文档内容创建索引。
4.图形数据库
图形数据库来源于图论中的拓扑学,以节点、边及节点之间的关系来存储复杂网络中的数据。
这种拓扑结构类似 E-R 图,但在图形模式中,关系和节点本身就是数据,而在 E-R 图中,关系描述的是一种结构。
好了,关于NoSQL是什么,以及NoSQL数据库有哪些相信大家已经知晓了吧,想了解更多关于NoSQL数据库的信息,请继续关注。