赞
踩
在很多小型应用中都没真正使用分库分表,但是说起来并不陌生,因为我们在面试中经常会被问到,今天我们从从以下几个方面来聊聊分库分表:「是什么?解决什么?怎么做?为什么要这么做?即:」
分库分表其实很好理解,「顾名思义,即把存于一个库的数据分散到多个库中,把存于一个表的数据分散到多个表中」。但是需要明确一点,分库分表不是一件事,而是三件事,也就是「分库分表的三种方案」:
「从单个数据库拆分成多个数据库的过程,将数据散落在多个数据库中,多个数据库同时提供服务」。
「从单张表拆分成多张表的过程,将数据散落在多张表内」。
「把存于一个数据库的单表数据分散到不同库的多个表中」。
大型应用系统需要处理大量用户的请求,比如微信,美团,淘宝等每天都会产生海量的数据,我们知道当数据量或者请求数达到一定数量之后,数据库就会产生性能瓶颈,而为了缓解数据量的压力,比较普遍的方案一方面是使用NoSQL,而另一方面就是分库分表。
分库就是在我们系统的业务量增长到一定程度之后,「解决数据库本身的性能瓶颈问题」,所以「一般都是业务量增长,遇到以下两种情况时就会考虑分库」:
在之前的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。