Nosql概述

Nosql概述

为什么要用Nosql ?

1.单机MySQL的年代

mysql单机

90年代,一个基本的网站访问量一般不会太大,单个数据库完全足够。

那个时候,更多的去使用静态网页HTML,服务器根本没有太大的压力。

出现以下情况网站出现瓶颈,要晋级:

  1. 数据量如果太大,一个机器放不下。
  2. 数据的索引(B+Tree),一个机器内存也放不下
  3. 访问量(读写混合),一个服务器承受不了

2.Memcached(缓存)+ MySQL + 垂直拆分

网站80%的情况都是在读,每次都要去查询数据库的话就十分麻烦,所以我们希望减轻数据库的压力,使用缓存来保证效率。

发展过程:优化数据库的数据结构和索引 --> 文件缓存(IO)--> Memcached(当时最热门的技术)

mysql读写分离

3.分库分表+水平拆分+MySQL集群

技术和业务在发展的同时,对人的要求也越来越高。

本质:数据库(读、写)

早年MyISAM:表锁,十分影响效率,高并发下就会出现严重的锁问题

转战Innodb:行锁

慢慢地就开始使用分库分表来解决写的压力!MySQL在那个年代推出了表分区,但并没有多少公司使用。

MySQL的集群,很好满足那个年代的所有需求。

mysql集群

最近的年代

2010-2020十年之间,世界已经发生了翻天覆地的变化;(定位,也是一种数据,音乐,热榜等)

MySQL等关系型数据库就不够用了,数据很多,变化很快。

MySQL有的使用它来存储一些较大的文件,博客,图片,数据库表很大,效率就低了。如果有一种数据库来专门处理这种数据,MySQL压力就变得十分小(研究如何处理这些问题),大数据的IO压力下,表几乎没法更改(如给一个有一亿条数据的表加多一列)

目前一个基本的互联网项目

互联网项目架构图

为什么要用NoSQL

用户的个人信息,社交网络,地理位置。用户自己产生的数据,用户日志等爆发式增长等,这时候我们就需要使用NoSQL数据库,NoSQL可以很好处理以上的情况。

posted @ 2021-08-01 12:13  有我的担忧  阅读(45)  评论(0编辑  收藏  举报