Redis入门到精通day01
一、NoSQL引入redis
1.mysql发展史
-
单机MySQL
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lbeHd038-1595725513595)(D:\学习笔记\redis\imgs\单机mysql.jpg)]
数据访问量不大,单一数据库足以应付访问,大量网站都是静态数据无序动态交互
随着发展存在以下问题
1、数据量逐渐增多,一个机器放不下
2、数据索引(B + Tree)也放不下
3、访问量过大,读写会导致实例down机
-
MemCached(缓存也就是redis)+Mysql+垂直拆分
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P3umS72K-1595725513601)(D:\学习笔记\redis\imgs\缓存+mysql.jpg)]
1、通过增加一个缓存中间件来读取,减少数据库压力
2、将单个Mysql拆解成多个,缓解单个压力
-
mysql读写分离
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PL3LLNL0-1595725513603)(D:\学习笔记\redis\imgs\读写分离.jpg)]
设置主从库,写入操作放在主库,读操作从从库中分库读取
-
mysql集群
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NzrqMPHs-1595725513608)(D:\学习笔记\redis\imgs\集群.jpg)]
1、随着数据量增多,使用mysql集群
大数据时代到来,传统型数据库无法支持现在业务的发展
所以引入了NoSQL,NoSQL泛指非关系型数据库,这中数据库存储不需要固定的模式,可以直接进行横向扩展
2.NoSQL简介
关系型数据库:ACID
原子性、一致性、隔离性、持久性
非关系型数据库:最终一致性
key-value存储
CAP定理
1.特征
-
易扩展
去掉关系型特征,使得数据之间没有联系,容易扩展
-
大数据量,高性能
无关系型,数据库结构非常简单
-
多灵活数据模型
无序为要存库的数据建立字段,随时可以存储自定义数据格式
KV+Cache+Persistence
3V+3高:
大数据3V:海量(Volume)+多样(Variety)+实时(Velocity)
互联网3高:高并发,高可扩,高性能
3.NoSQL数据模型
聚合模型
-
KV键值
-
Bson
-
列族
-
图形
4.分布式数据库中的CAP原理
传统ACID
-
A原子性Atomicity
-
C一致性consistency
-
I独立性Isolation
-
D持久性Durability
NoSql数据库CAP
- C强一致性consistency
- A可用性Availability
- P分区容错性Partition tolerance
CAP只能3进2,而在分布式存储系统中,必须满足P
CA 传统oracle数据库/AP大多数网站架构都是AP/CPRedis/Mongodb
5.分布式和集群概念
简单来讲:
1分布式:不同的多台服务器上面部署不同的服务模块(工程),他们之间通过Rpc/Rmi之间通
信和调用,对外提供服务和组内协作。
2集群:不同的多台服务器上面部署相同的服务模块、通过分布式调度软件进行统一的调度,对
外提供服务和访问。