hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 常见问题 - 正文 君子好学,自强不息!

数据库拆分有几种体式格局

2020-06-29常见问题搜奇网39°c
A+ A-

数据库拆分有:1、按功用分别【垂直切分】,将差别功用相干的表放到差别的数据库中,如许做的长处是异常直观;2、按表中某一字段值的局限分别【程度切分】,当伴随着某一个表的数据量越来越大,以至于不能蒙受的时刻,就须要对它举行进一步的切分。

数据库做拆分的几种体式格局:

1.按功用分别(垂直切分)

将差别功用相干的表放到差别的数据库中,如许做的长处是异常直观。但当某一部份的功用其数据量或机能请求超出了可控的局限,就须要继承对其举行深切的再切分。

2.按表中某一字段值的局限分别(程度切分)

当伴随着某一个表的数据量越来越大,以至于不能蒙受的时刻,就须要对它举行进一步的切分。一种挑选是依据key 的局限来做切分,比如ID 为 1-10000的放到A上,ID 为10000~20000的放到B。如许的扩大就是可预感的。另一种是依据某一字段值来分别,比如依据用户名的首字母,如果是A-D,就属于A,E-H就属于B。如许做也存在不均衡性,当某个局限超出了单点所能蒙受的局限就须要继承切分。另有按日期切分等等。

长处:单表大小可控,天然程度扩大

瑕玷:没法处理集合写入瓶颈的问题。

3.基于hash的切分

平常采纳mod来切分,一开始肯定切分数据库的个数,经由过程hash取模来决议运用哪台。这类要领能够均匀地来分派数据,然则伴随着数据量的增大,须要举行扩大的时刻,这类体式格局没法做到在线扩容。每增添节点的时刻,就须要对hash 算法从新运算。

所以采纳这类要领引荐采纳mod 2^n这类一致性哈希

以点评一致定单库为例,分库分表的计划是32*32的,即经由过程userId后四位mod 32分到32个库中,同时再将userId后四位div 32 mod 32将每一个库分为32个表,总计分为1024张表。其线上布置状况为8个集群(主从),每一个集群4个库

4.基于路由表的切分

前面的几种体式格局都是依据运用的数据来决议操纵的,基于路由表的切分是一种越发松懈的要领。它零丁保护一张路由表,依据用户的某一属性来查找路由表决议运用哪一个数据库,这类体式格局是一种越发通用的计划。

长处:id和库的mapping算法能够随便变动

瑕玷:大概引入分外的单点

以上就是数据库拆分有几种体式格局的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
数据库拆分有几种体式格局

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

本文来源:搜奇网

本文地址:https://www.sou7.cn/296584.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。