当前位置: 代码迷 >> 综合 >> NOSQL 概述(尚硅谷 Redis 教学视频笔记整理)
  详细解决方案

NOSQL 概述(尚硅谷 Redis 教学视频笔记整理)

热度:15   发布时间:2023-12-27 22:50:23.0
一、
单机 MySQL 瓶颈
1、数据量的总大小,一个机器1放不下时。
2、数据的索引(B + Tree) 一个机器的内存放不下时。
3、访问量(读写混合)一个实例不能承受。

二、
缓存 + MySQL + 垂直拆分

三、
MySQL 主从读写分离
主库写,从库读,以提高读写性能和读库的可扩展性。Mysql 的 master-slave 模式。

四、
分表分库 + 水平拆分 + mysql 集群
在 Memcached 的高速缓存,MySQL 的主从复制,读写分离的基础上,这时 MySQL 主库的写压力出现瓶颈,
而数据量的持续猛增,由于 MyISAM 使用表锁,在高并发下会出现严重的锁问题,大量的高并发 MySQL 应用

开始使用 InnoDB 引擎 代替 MyISAM .

同时,开始流行使用分表分库来缓解写压力和数据增长的扩展问题。

五、
NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”。
泛指非关系型数据库。
这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
易扩展,NoSQL 数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。

数据之间无关系,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。

NoSQL 无需先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段
是一件非常模范的事情。

六、RDBMS vs NoSQL
RDBMS
高度组织化结构化数据
结构化查询语言(SQL)
数据和关系都存储在单独的表中。
数据操纵语言,数据定义语言
严格的一致性
基础事物

NoSQL
代表着不仅仅是 SQL
没有声明性查询语言
没有预定义的模式
CAP 定理
高性能,高可用性和可伸缩性

Redis
Memcache
Mongdb