P3基础篇-02.初识Redis-认识NoSQL

Sql和NoSql的区别

SQL(Structured Query Language):关系型数据库

NoSql(No Structured Query Language):非关系性数据库

常见NoSql数据库:

  1. 键值型数据库(Redis)

  2. 文档型数据库(MongoDB)

  3. 列类型(HBase)

  4. Graph类型(Neo4j)

区别

1. 结构化(Structured):

Sql表结构一般不建议修改。数据量大时,改动可能会锁表,导致一段时间不能使用。

NoSql非结构化,包含存储Key-value型数据库,Document型数据库,Graph型数据库。数据结构松散,结构改动影响较小。

2. 关联性(Relational):

Sql多个表之间可以有外键约束,对数据修改或删除时会有校验。

NoSql数据之间相对独立,不存在约束性关系。关联性需要在业务中主动维护,数据库本身不会维护关联性。

3. 查询语法:

Sql数据是结构化的,可以使用统一标准的Sql语句来查询。

NoSql数据库的查询语法不固定,例如:

Redis		: get userList
MongoDB		: db.users.find({_id: 1})
elasticsearch	: GET http://localhost:9200/users/1

4. 事务:

SQL数据库:所有的关系型数据库都是满足ACID特性的。

NoSql数据库无法满足强一致性,只能满足基本的一致性。所以NoSql数据库无法全部满足ACID。BASE理论。

image

posted @ 2023-02-04 17:21  iiiiiiiivan  阅读(31)  评论(0)    收藏  举报