SQL分库分表
创始人
2024-05-30 05:32:59
0

什么是分库分表?

        分库分表是两种操作,一种是分库,一种是分表

        分库分表又分为垂直拆分和水平拆分两种。

        (1)分库:将原来存放在单个数据库中的数据,拆分到多个数据库中存放。

        (2)分表:将原来存放在单个表中的数据,拆分到多个表中存放。

        垂直拆分特点:        

        (1)每个库(表)的结构都不一样;

        (2)每个库(表)的数据至少一列一样;

        (3)每个库(表)的并集是全量数据;

        水平拆分特点:

        (1)每个库(表)的结构都一样;

        (2)每个库(表)的数据都不一样;

        (3)每个库(表)的并集是全量数据

        垂直分库:专库专用,按照业务将表进行分类,分布在不同的数据库中,每个库可以放在不同的服务器上。

        根据业务拆分,如图:电商系统,拆分成订单库、会员库、商品库。

        垂直分库优点:

        (1)解决业务层面的耦合,业务清晰;

        (2)能对不同业务的数据进行分级管理、维护、监控、扩展等;

        (3)高并发场景下,垂直分库一定程度的提升IO、数据库连接数、降低单机硬件资源的瓶颈;

        垂直分表:将一个表按照字段分为多表,每个表里面都存储其中一部分字段。

        根据业务去拆分表,如图:把  user表  拆分成  user_base表  和  user_info表,user_base表 负责存储登录,user_info表 负责存储基本用户信息。

     

        水平分库:同一个表的数据按一定规则拆到不同的数据库中,库放在不同的服务器上。

 

         如图:按会员库拆分成会员1库、会员2库;以userid拆分,0~1000为1库,1001~2000为2库。

         水平分库优点:

                (1)解决了单库大数据,高并发的性能瓶颈;

                (2)提高了系统的稳定性及可用性;

        水平分表:同一个数据库内,对数据行拆分,不影响表结构。

        如图:users表 拆分成 users1表 和 users2表;

        水平分表优点:

                (1)优化单一表数据量过大而产生的性能问题。

                (2)避免IO争抢而减少锁表的几率。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...