2、单机MySQL的演进
我们当前处于大数据时代,大数据一般的数据库无法进行分析处理了!2006年发布了Hadoop
1、单机MySQL的年代
某知名购物网站最开始就是到国外购买的PHP网站,拿过来就能直接使用,到后来也改成了Java。早期网站的数据模型如下图所示
一个基本的网站访问量不会太大,单个数据库完全足够了!哪个时候更多的使用的静态网页HTML,服务器没有太大压力。这种情况下,整个网站的瓶颈是
- 数据量太大,一个机器放不下了!
- 数据的索引,(这里我们知道MySQL单个表如果超过300万条数据,就一定要建立索引了,如果不建立索引,所有的查询都会比较慢)如果索引太大一个机器内存也放不下。
- 数据库访问量变大(单机的MySQL是读写混合的),一个服务器承受不了
出了以上三种情况之一就需要晋级了。为了解决上述问题就进入了第二个时代
2、缓存数据库
曾经用的最多的是Memcache缓存数据库+MySQL+垂直拆分(读写分离)
我们知道一个网站80%的情况都是在读,每次都要去查询数据库的话就十分麻烦!如果遇到一种情况张三查询了1号商品,李四也查询了1号商品,如果每次都要进到数据库去查询,那么无疑对服务器是一个巨大的消耗。此时就提出了如果数据库中的数据如果没有改变,可以在数据库前制作一份缓存,如果用户来调用直接调用缓存数据库,以减轻数据库服务器的压力,以提高服务器效率。也就是缓存主要是用来解决读的问题。
这个发展过程是
- 尝试优化数据结构和索引和产品本身,此时MySQL采用了文件缓存的形式来解决这个歌问题,但是文件缓存还面临着I/O操作的,虽然提高了效率,但是还是不断的读写操作。
- 出现了热门技术memcache缓存