突击Redis数据库(一) 互联网为什么需要Redis?

一. 项目架构的演变与NoSql

1. 互联网项目架构演变:
在这里插入图片描述

2. 单机项目架构:
在这里插入图片描述
3. Memcache 与 MySql垂直拆分:
在这里插入图片描述
4. Memcache的出现:

	随着访问量上升,大部分使用 MySQL 架构的网站在数据库上都开始出现性能问题,Web 程序不能再仅仅专注在功能上,同时也在追求性能。
开始使用缓存技术缓解数据库压力,优化数据库的结构和索引。刚开始时比较流行的是通过文件缓存来缓解数据库压力,但是当访问量继续增
大,文件缓存中的数据不能在多台 Web 服务器之间共享,大量的小文件 IO 也带来了比较高的 IO 压力。
在这种情况下,Memcache 就成了一款非常有效的解决方案。 Memcache 作为一个独立的分布式缓存服务器,为多个 Web 服务器
提供了一个共享的高性能缓存服务,在 Memcache服务器上,又发展了根据 hash 算法来进行多台 Memcache 缓存服务的扩展,然后又
出现了一致性 hash 来解决增加或减少缓存服务器导致重新 hash 带来的大量缓存失效问题。

5. MySql的读写分离出现:

于数据库的写入压力增加,Memcached 只能缓解数据库的读取压力。读写集中在一个数据库上让数据库不堪重负,大部分网站开始使用
主从复制技术来达到读写分离,以提高读写性能和读库的可扩展性。Mysql 的 master-slave 模式成为这个时候的网站标配了。

在这里插入图片描述
6. 分库分表与MySql集群出现:

	在 Memcached 的高速缓存,MySQL 的主从复制,读写分离的基础之上,这时 MySQL 主库的写压力开始出现瓶颈,而数据量的
持续猛增,由MyISAM使用表锁,在高并发下会出现严重的锁问题,大量的高并发 MySQL 应用开始使用InnoDB引擎代替MyISAM。
	
	同时,开始流行使用分表分库来缓解写压力和数据增长的扩展问题。这个时候,分表分库成了一个热门技术,是业界讨论的热门技术问题。
也就在这个时候,MySQL推出了还不太稳定的表分区,这也给技术实力一般的公司带来了希望。虽然 MySQL 推出了MySQLCluster集群,
但性能也不能很好满足互联网的要求,只是在高可靠性上提供了非常大的保证。

	MySQL 数据库也经常存储一些大文本字段,导致数据库表非常的大,在做数据库恢复的时候就导致非常的慢,不容易快速恢复数据库。
比如1000 万4KB 大小的文本就接近40GB 的大小,如果能把这些数据从MySQL 省去,MySQL将变得非常的小。关系数据库很强大,但是
它并不能很好的应付所有的应用场景。MySQL 的扩展性差(需要复杂的技术来实现),大数据下 IO 压力大,表结构更改困难,
正是当前使用 MySQL 的开发人员面临的问题。

7. 现在的互联网架构:
在这里插入图片描述
8. 目前互联网的新要求:3V 和3 高:

大数据时代的 3V:
	Volume:海量,数据量极大
	Variety:多样
	Velocity:实时
	
互联网时代的 3高:
	高可扩
	高性能
	高并发

9. NoSQL:

不仅仅是SQL—关系型数据库的强大助力
非关系型数据库

在这里插入图片描述
10. NoSQL 数据库的优势:

•	易扩展
–	NoSQL 数据库种类繁多,但它们都有一个共通的特点:就是去除关系型数据库的“关系型”特点。数据之间无关系,这样就变得非常
容易扩展,而相对应的来看:关系型数据库修改表结构非常困难。这就为项目架构设计提供了更大的扩展空间。

•	大数据量高性能
–	NoSQL 数据库都具有非常高的读写性能,尤其在大数据量的情况下,表现同样优秀。这得益于 NoSQL数据库中数据之间没有“关系”
,数据库结构简单。

–	从缓存角度来看,MySQL 的 Query Cache 是表级别的粗粒度缓存,假设存储了 100 条数据,其中有一条数据修改了,整个缓存
失效,效率很低。而 NoSQL 数据库的缓存是记录级的细粒度
缓存,任何一条记录的修改都不影响其他记录,效率很高。

•	多样灵活的数据模型
–	NoSQL 数据库无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常
麻烦的事情。如果是非常大数据量的表,增减修改字段简直就是一个噩梦。

二. Redis

1. 简介:

Redis:Remote Dictionary Server(远程字典服务器)

2. 英文官网:
在这里插入图片描述
3. 中文官网:
在这里插入图片描述

总结:Redis是应运而生的娇子,是互联网时代发展到这一阶段的必然产物。

猜你喜欢

转载自blog.csdn.net/w_x_A__l__l/article/details/107537711