认识NoSQL
区别 | SQL | NoSQL |
---|---|---|
数据结构 | 结构化 | 非结构化 |
数据关联 | 关联的 | 无关联的 |
查询方式 | SQL查询 | 非SQL |
事务特性 | ACID | BASE |
存储方式 | 磁盘 | 内存 |
扩展性 | 垂直 | 水平 |
使用场景 | (1)数据结构固定。 (2)相关业务对数据安全性、一致性要求较高 | (1)数据结构不固定。 (2)对一致性、安全性要求不高 (3)对性能要求 |
ACID特性是指数据库事务应具备的四个基本要素,这四个特性分别是:
- 原子性(Atomicity)。事务的所有操作要么全部成功执行,要么全部失败并回滚,不允许只执行部分操作。
- 一致性(Consistency)。事务执行前后,数据库必须从一个一致性状态变换到另一个一致性状态。这意味着,无论事务执行多少次,数据库的状态始终保持一致。
- 隔离性(Isolation)。并发执行的事务之间应相互隔离,防止彼此间的操作影响。这通常通过不同的隔离级别来实现,例如读未提交、读提交、可重复读和串行化。
- 持久性(Durability)。事务一旦提交,对数据库的修改就是永久性的,即使系统故障也不会丢失已提交事务的操作。
非结构化查询数据库方式
- 键值类型(Redis)
- 文档类型(MongoDB)
- 列类型(HBase)
- Graph类型(Ne04j)
认识redis
Redis诞生于2009年,全称是Remote Dictionary Server,远程词典服务器,是一个基于内存的键值型NoSQL数据库。
特征
- 键值(key-value)型,value支持多种不同的数据结构,功能丰富
- 单线程,每个命令具备原子性
- 低延迟,速度快(基于内存、IO多路复用、良好的编码)
- 支持数据持久化
- 支持主从集群、分片集群
- 支持多语言客户端