1. Redis 简介
1.1 关系型数据库(SQL)
关系型数据库,是指采用了关系模型来组织数据的数据库,可以简单的理解为一个二维数据库,类似于一个Excel表,有行有列,主要是通过表和表,行和列之间的一些关系进行数据存储。
如上所示:上图主要是一张MySQL数据库表,每一行代表一份数据,每一列代表数据的含义,比如一列的数据是ID,用户名等等。
特性:
- 关系型数据库存储数据时都相对应的约束和结构,就比如我们在设计一张MySQL表时,我们会先设计好字段,每个字段相对应的属性等等,我们在进行数据管理时就需要遵循这些数据的属性等等
- 关系型数据库的存储空间主要是在我们电脑的磁盘上,在安全性上有一定的保证
- 关系型数据库一般都涉及到事务问题,在事务上遵循ACID原则
- 关系型数据库在应对数据的大量修改和增加的操作上有很高的效率,因为关系型数据库的数据存储都有一定的约束
优点:
-
容易理解,二维表的结构非常贴近现实世界,有行有列,容易理解。
-
使用方便,通用的sql语句使得操作关系型数据库非常方便。
-
易于维护,数据库的ACID属性,大大降低了数据冗余和数据不一致的概率。
缺点:
- 因为数据时存储在磁盘上的,在面对大量的读写操作时,会有很大的限制。简单理解就是:关系型数据库在面对大量的查询时,会很耗费时间,效率不高
- 高扩展性和可用性。因为关系型数据库的事务原则关系,在分布式的架构上会很容易的出现数据脏读幻读的可能性。
常见的关系型数据库: MySQL,Oracle,SQL Server
1.2 非关系型数据库(NoSQL)
非关系型数据库,主要指那些非关系型的、分布式的,且一般不保证ACID的数据存储系统,主要是通过对象来存储数据的,常见的模型有:列模型ÿ