Nosql概述
为什么要用Nosql
1、单机MySQL的年代!
90年代,一个基本的网站访问量一般不会太大,单个数据库完全足够! 那个时候,更多的去使用静态网页 Html ~ 服务器根本没有太大的压力! 思考一下,这种情况下:整个网站的瓶颈是什么? 1、数据量如果太大、一个机器放不下了! 2、数据的索引 (B Tree),一个机器内存也放不下 3、访问量(读写混合),一个服务器承受不了~ 只要你开始出现以上的三种情况之一,那么你就必须要晋级!
2、Memcached(缓存) MySQL 垂直拆分 (读写分离)
网站80%的情况都是在读,每次都要去查询数据库的话就十分的麻烦!所以说我们希望减轻数据的压 力,我们可以使用缓存来保证效率! 发展过程: 优化数据结构和索引--> 文件缓存(IO)---> Memcached(当时最热门的技术!)
3、分库分表 水平拆分 MySQL集群
技术和业务在发展的同时,对人的要求也越来越高! 本质:数据库(读,写) 早些年MyISAM: 表锁,十分影响效率!高并发下就会出现严重的锁问题 转战Innodb:行锁 慢慢的就开始使用分库分表来解决写的压力! MySQL 在哪个年代推出 了表分区!这个并没有多少公司 使用! MySQL 的 集群,很好满足哪个年代的所有需求!
4、如今最近的年代
2010--2020 十年之间,世界已经发生了翻天覆地的变化;(定位,也是一种数据,音乐,热榜!) MySQL 等关系型数据库就不够用了!数据量很多,变化很快~! MySQL 有的使用它来存储一些比较大的文件,博客,图片!数据库表很大,效率就低了!如果有一种数 据库来专门处理这种数据, MySQL压力就变得十分小(研究如何处理这些问题!)大数据的IO压力下,表几乎没法更大!
目前一个基本的互联网项目!
为什么要用NoSQL!
用户的个人信息,社交网络,地理位置。用户自己产生的数据,用户日志等等爆发式增长! 这时候我们就需要使用NoSQL数据库的,Nosql 可以很好的处理以上的情况!