Redis 尚硅谷周阳
- 易扩展:NoSQL 数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形之间在架构的层面上带来了可扩展的能力。
- 大数据量高性能:NoSQL 数据库都具有非常高的读写性能,尤其是在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。一般 MySQL 使用 Query Cache,每次表的更新 Cache 就会失效,是一种大粒度的 Cache,在针对 web2.0 的交互频繁的应用, Cache 性能不高。而 NoSQL 的 Cache 是记录级的,是一种细粒度的 Cache,所以 NoSQL 在这个层面上来说性能就要高很多了。
- 多样灵活的数据模型:NoSQL 无需事先为所要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是一个噩梦。
传统 RDBMS VS NoSQL
- RDBMS
- 高度组织化结构化数据
- 结构化查询语言(SQL)
- 数据和关系都存储在单独的表中
- 数据操纵语言,数据定义语言
- 严格的一致性
- 基础事务
- NoSQL
- 代表着不仅仅是 SQL
- 没有声明性查询语言
- 没有预定义的模式
- 键值对存储,列存储,文档存储,图形数据库
- 最终一致性,而非 ACID 属性
- 非结构化和不可预知的数据
- CAP 定理
- 高性能,高可用性和可伸缩性
3V + 3高
- 大数据时代的 3 V
- 海量 Volume
- 多样 Variety
- 实时 Velocity
- 互联网需求的 3 高
- 高并发
- 高可扩
- 高性能