概述
1.NoSQL数据库:解决性能(用户量增加性能技术)的问题
为了解决CPU以及内存压力:
1、采用服务器集群分布式部署 ,实现负载均衡
2、采用反向代理nginx,可以用户感受不到服务器的切换
问题:从一个服务器到另一个服务器,用户切换情况下session(服务端)应该放在哪里?
解决方法:
1、cookie放在客户端,不安全;网络负担效率低
2、放在文件服务器,需要进行IO读取
3、服务器冗余备份,浪费空间
4、采用redis,将数据缓存在数据库中(内存)
为了解决IO压力,需要频繁进行IO读取
NoSQL: not only sql,非关系型数据库(key-value键值对);关系型数据库从业务角度数据将有关联的一组数据放在一起
特点:
1、不遵循SQL标准。
2、不支持ACID(原子性、一致性、隔离性、持久性),但是支持事务(通过单线程+多路IO复用)。
3、远超于SQL的性能。
行式存储(方便针对id进行查找)-列式存储:(针对avg值查找)
怎么理解NoSQL适用高并发、海量秒杀场景,不支持ACID,支持事务,但不适用需要事务支持的场景?