天天看点

关系型数据库与非关系型数据库1.NoSQL[非关系型数据库]2.关系型数据库和非关系型数据库对比3.NoSQL分类

1.NoSQL[非关系型数据库]

1.NoSQL,指的是非关系型的数据库。NoSQL 有时也称作 Not Only SQL 的缩写,是对不同于传统的关系 型数据库的数据库管理系统的统称。
2.NoSQL 用于超大规模数据的存储。(例如谷歌或 Facebook 每天为 他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,
  无需多余操作就可以横向扩展。
           

2.关系型数据库和非关系型数据库对比

关系型数据库与非关系型数据库1.NoSQL[非关系型数据库]2.关系型数据库和非关系型数据库对比3.NoSQL分类

2.1.关系型数据库

2.1.1.关系型数据库优势

在绝大部分时候,我们都会首先考虑用关系型数据库来存储我们的数据,比如SQLServer,Oracle,MySQL 等等。
关系型数据库的特点:
1、它以表格的形式,基于行存储数据,是一个二维的模式。
2、它存储的是结构化的数据,数据存储有固定的模式(schema),数据需要适应表结构。
3、表与表之间存在关联(Relationship)。
4、大部分关系型数据库都支持SQL(结构化查询语言)的操作,支持复杂的关联查询。
5、通过支持事务(ACID 酸)来提供严格或者实时的数据一致性。
           

2.1.2.关系型数据库劣势

但是使用关系型数据库也存在一些限制,比如:
1、要实现扩容的话,只能向上(垂直)扩展,比如磁盘限制了数据的存储,就要扩大磁盘容量,通过堆硬件的方式,
  不支持动态的扩缩容。水平扩容需要复杂的技术来实现,比如分库分表。
2、表结构修改困难,因此存储的数据格式也受到限制。
3、在高并发和高数据量的情况下,我们的关系型数据库通常会把数据持久化到磁盘, 基于磁盘的读写压力比较大。
           

2.2.非关系型数据库

2.2.1.菲关系型数据库优势

为了规避关系型数据库的一系列问题,我们就有了非关系型的数据库,
我们一般把它叫做“non-relational”或者“Not Only SQL”。
NoSQL最开始是不提供SQL的数据库的意思,但是后来意思慢慢地发生了变化。
非关系型数据库的特点:
1、存储非结构化的数据,比如文本、图片、音频、视频。
2、表与表之间没有关联,可扩展性强。
3、保证数据的最终一致性。遵循BASE(碱)理论。 Basically Available(基本可用); Soft-state(软状态); Eventually Consistent(最终一致性)。
4、支持海量数据的存储和高并发的高效读写。
5、支持分布式,能够对数据进行分片存储,扩缩容简单。
           

3.NoSQL分类

对于不同的存储类型,我们又有各种各样的非关系型数据库,比如有几种常见的类型:
1 、KV 存储, 用 Key Value 的形式来存储数据。比较常见的有 Redis 和MemcacheDB。
2、文档存储,MongoDB。
3、列存储,HBase。
4、图存储,这个图(Graph)是数据结构,不是文件格式。Neo4j。
5、对象存储。
6、XML 存储等等等等。
```java

**这个网页列举了各种各样的NoSQL数据库**
[http://nosql-database.org/]()	
```java
NewSQL 结合了SQL 和NoSQL 的特性(例如PingCAP 的TiDB)
           
关系型数据库与非关系型数据库1.NoSQL[非关系型数据库]2.关系型数据库和非关系型数据库对比3.NoSQL分类