# **Nosql概述**
*****
## **为什么要用Nosql**
淘宝
>1. 单机mysq年代
![](https://img.kancloud.cn/ad/4a/ad4ac9cc4488c8b1db41ec46356bd62c_950x220.png)
90年代,一个基本的网址访问量一般不会太大,单个数据库完全足够!那个时候,
更多的去使用静态网站html~服务区根本没有太大的压力
思考一下,这种情况下;整个网址的瓶颈是什么?
1.数据量如果太大,一个机器放不下了!
2.数据的索引(B+tree)单表超过300万就一定要加索引,一个机器内存也放不下
3.访问量(读写混合)一个服务区承受不了~
只要你出现以上三种情况之一,那么你就一定要晋级
>2.Memcached(缓存) + MySQL + 垂直拆分(读写分离)
网址80%的情况都在读,每次都要去查询数据库的话就十分的麻烦!,所以说我们希望减轻数据的压力,我们使用缓存来保证效率。
#### **发展过程:** **优化数据结构--> 文件缓存(Io)--->Mencached(当时最热门的的书)**
![](https://img.kancloud.cn/b1/c2/b1c29f25f2fc759ab1fce04b4e906d80_778x405.png)
> 3.分库分表 + 水平拆分 + MySQL 集群
技术和业务在发展的同时,对人的要求也越来越高
## 本质:数据库(读,写)
早些年MySAM:表锁,十分影响效率,高并发下就会出现严重的锁问题
转战innodb:行锁
慢慢的就开始使用分库分表来解决写的压力!MySQL 在那个年代推出了便分区!这个并没有多少公司使用!
MySQL的集群,很好的满足了那个年代的所有需求!
![](https://img.kancloud.cn/89/db/89dbdc9c5837b9e4fae9cdc3b07f02e6_658x459.png)