今天了解了数据从最开始的单机数据库到现在的缓存+分布式+集群的模式的演变过程
1》用户访问量不大,单机数据库完全足够支撑,随着互联网的人数不断增加,网站的访问量不断增大,这样的架构开始出现了瓶颈
瓶颈:
1.数据总量一个机器放不下,查询效率很低。
2.索引(B+tree)一个机器内存放不下。
3.访问量(读——写)机器不能承受
2》开始引入缓存的概念 memcached缓存+垂直拆分(商城分为卖家+卖家)
3》主从复制(主库写入一条记录,从库也写入一条记录),保持数据一致性,读写分离,写入主库,从从库读取数据,分散单库压力
4》分表分库+水平拆分+mysql集群,但是也会出现写入瓶颈(类似双11)
瓶颈:
- 写压力出现瓶颈,使用innerDb的行锁代替myIsAm的表锁,处理高并发场景
- 水平拆分既:对数据进行分析,分为冷数据(类似用户的注册信息,不会频繁改变和更新)—数据库1+热点数据(类似商品的价格,随着实际情况会出现改变)-数据库2
- mysql集群:数据量过大,数据查询很慢{放入集群管理-1/3放入集群一-1/3放入集群二-1/3放入集群三}
5》出现评论或者商品描述等大文本信息,表数据存储非常大,恢复数据慢,IO压力很大(采用文件服务器的方式)
6》今天:
7》NoSql的使用
- 非关系型数据库
- 无固定模式
- 横向扩展容易
- 非常高的读写性能
- 键值对存储
主要应对互联网的3V+3高 :海量数据,多样化数据,实时性数据
3高:高并发,高可扩(横向扩展),高性能(可用)(容灾备份)