为何MYSQL很少用分区表,而用分库分表
1个回答
展开全部
分库分表是MYSQL应对大数据、高并发的常见解决方案,有很多朋友特别是熟悉ORACLE的朋友可能会问,
MYSQL有分区表,分区表同样能达到IO分散、提高性能的目的,而且更简单,更方便,为何还要采用分库分表呢。
我想主要有以下几个方便的原因:
1、MYSQL 对多CPU的支持还不是很好,还不能充分发挥多CPU的能力,如不支持并行,很多东西都不支持在线DDL等,
如果将分表数据堆积成分区表,即便IO不是问题,MYSQL自身管理上也是个问题,效率比分表差太多。
2、MYSQL分区表自身的不完善,坑太多,有时完全起不到分区表的作用,和巨大单表无二致,甚至更差。
3、分区表,分区键设计不太灵活,如果不走分区键,很容易出现全表锁,性能大幅下降。
4、自己分库分表,自己掌控业务场景与访问模式,可控。分区表,研发写了一个sql,都不确定mysql是怎么玩的,不太可控。
5、备份恢复问题,巨大的单表导致备份恢复时间成倍增加,加大整库备份恢复失败风险,在一些业务场景下,
甚至不能在有限的时间窗口内完成备份。
6、管理维护问题,如DDL,表一大简直是一场灾难。
所以,现在很多的互联网公司的一些互联网应用,很少有采用分区表的,而大都采用分库分表。
MYSQL有分区表,分区表同样能达到IO分散、提高性能的目的,而且更简单,更方便,为何还要采用分库分表呢。
我想主要有以下几个方便的原因:
1、MYSQL 对多CPU的支持还不是很好,还不能充分发挥多CPU的能力,如不支持并行,很多东西都不支持在线DDL等,
如果将分表数据堆积成分区表,即便IO不是问题,MYSQL自身管理上也是个问题,效率比分表差太多。
2、MYSQL分区表自身的不完善,坑太多,有时完全起不到分区表的作用,和巨大单表无二致,甚至更差。
3、分区表,分区键设计不太灵活,如果不走分区键,很容易出现全表锁,性能大幅下降。
4、自己分库分表,自己掌控业务场景与访问模式,可控。分区表,研发写了一个sql,都不确定mysql是怎么玩的,不太可控。
5、备份恢复问题,巨大的单表导致备份恢复时间成倍增加,加大整库备份恢复失败风险,在一些业务场景下,
甚至不能在有限的时间窗口内完成备份。
6、管理维护问题,如DDL,表一大简直是一场灾难。
所以,现在很多的互联网公司的一些互联网应用,很少有采用分区表的,而大都采用分库分表。
专业语音导览
2024-11-15 广告
2024-11-15 广告
"分区讲解系统是一种在展馆或展厅使用的讲解系统,也被称为团队智慧讲解系统、展厅分区讲解系统、展馆讲解系统、分区解说系统等不同称谓。它适用于讲解员向游客进行团队讲解的情况,讲解员可手持无线讲解发射器进行语音讲解,参观者无需佩戴耳机,也可以听到...
点击进入详情页
本回答由专业语音导览提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询