Redis-nosql入门概述(上)

一.互联网背景下为社么使用nosql

  》发展史:

    1.单机mqsql的美好年代

 

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

 

     3.mysql主从,读写分离

 

     4.分库分表+水平拆分+mysql集群

 

 

 

   分库分表:

    》分库:垂直分库和水平分库

      1)垂直拆分:根据业务关系将一个数据库实例的数据分解,并由多个数据库实例管理;比如原本A数据库按用户,订单,支付的关系拆解,B数据库管理用户相关的数据,C数据库管理订单相关数据,以此类推。垂直拆分是在业务的基础上拆解成多个数据库来管理,通常是优先考虑的选择

      2)水平拆分:一般水平拆分是基于垂直拆分的基础上实现的,把负责某一业务(比如用户相关)的数据库表根据区间来拆分成多张表。比如原本一张有10000条数据的用户表,我们可以划分为两部分,前5000条的数据归一张表,后5000也归一张表,且这两张表是不同库的。水平拆分是按区间把表进行拆分并由不同的库来管理。

    》分表:垂直分表和水平分表

      1)垂直分表:在表的垂直方向或者说按字段进行表的拆分,将“宽”表拆解成多个“窄”表,表的字段完全不同

      2)水平分表:水平方向上对表数据进行拆分(不影响表结构),将“长”表拆解成多个“短表”,表字段完全一样

  水平拆分:参考上面的分库分表的水平拆分

  mysql集群:多台电脑搭建mysql,分担数据!

分库分表可参考:https://www.cnblogs.com/java-friend/p/12208384.html

    5.mysql的拓展性瓶颈

    6.今天是啥样的?

 

      7.为什么使用nosql

       》nosql是一个理念,泛指非关系形数据库。由于数据的多样性和海量,关系型数据库(mysql,oracle等)的行列结构的形式已不满足需要,其拓展性很差,所以为了更好的拓展性,nosql理念也由此诞生

 

 

posted @ 2020-08-02 21:32  爱编程DE文兄  阅读(163)  评论(0编辑  收藏  举报