一线大厂面试真题-数据量达到多少的时候要开始分库分表

目录

问题分析

问题解答


题分析

这个其实是一个开放性问题,因为分库分表有很多目的,比如查询性能下降、或者是业务解耦。

另外,如果单纯基于数据量来推导分库分表的行为是不严谨的。

里面涉及到的变量比较多,比如数据行的大小、索引大小会决定B+树的层高,而层高又间接决定不同数据量级的查询性能。

对该表的查询维度、查询条件的复杂度,即便在几十万数据的表中也可能会出现查询性能低的问题。

硬件资源的置性能,比如带宽、内存、磁盘也同样会影响查询效率。

甚至是表结构设计不合理也有影响,比如如果建立的是宽表,也就是一个表包含太多的,也会影响查询效率

以,面对这个问题,建议是可以发散思维去分析,通过知识的宽度来获得认可。

问题解答

这个问题需要结合具体业务场景和系统架构来考虑,基于我的理解,通常有以下几个考

虑因素:

1.   单表数据量:如果单个表的数据量已经非常大,例如超过了百万级别,就需要开始考虑分表。

2.   数据库性能:当单个数据库的性能无法满足业务需求时,就需要考虑分库。

3.   数据访问频率:如果某些表的数据访问频率非常高,单个数据库节点无法满足高并发请求就需要考虑将这些表分到不同的库或表中,以提高性能。

4.   业务拆:当系统的业务逻辑越来越复杂,不同的业务之间的数据耦合度越来越低,需要考虑对系统进行拆分,以方便管理和扩展。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值