MySQL分库分表缩容(11)

此缩容非彼缩容

无论是在ORACLE、MSSQL中都会存在着扩容、缩容的操作,并且这个技能基本是DBA所必备的。下面是本人的一点理解:

  • 扩容:数据在增长,在快达到磁盘或数据库的容量时,增加磁盘和或表空间的一种操作。
  • 缩容:在delete、update、insert操作平凡的表中会产生许多的磁盘碎片,这是后需要对碎片进行整理或者对表数据进行从新生成一次,从而达到减小容量的目的。

而现在要说的扩容和缩容是结业某种业务场景的(其实就是分库分表的数据迁移):

  • 扩容:在预计访问会爆增之前。增加机器,并分库分表将数据进行迁移,让压力进行分散处理。从而能度过高频反问时期。
  • 缩容:在高频访问时期过去了,再将数据进行汇集。以至于能腾出机器,从而达到减少成本的一种做法。

扩容其实在之前分库分表的时候从操作过了。只是之前我们不知道那样就叫做扩容。

缩容

下面我们演示将test_3的库数据进行迁移

源码:reduce_capacity

查看迁移后数据:

总结

分库不是DBA一个人的事。它牵扯到的太多太多,一定要和产品和开发一起慢慢琢磨。

 

昵称:HH
QQ:275258836
ttlsa群交流沟通(QQ群②:6690706 QQ群③:168085569 QQ群④:415230207(新) 微信公众号:ttlsacom)

感觉本文内容不错,读后有收获?

逛逛衣服店,鼓励作者写出更好文章。

HH

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

  1. 匿名 5

    缩容的原理是啥?
    业务上一般不会进行物理上的删除操作的,只是逻辑上屏蔽,不在前段展示,数据库上还是存在的。

    • HH HH 3

      @匿名 缩容一般和扩容要结合起来看
      比如你在业务高峰期的时候像订单表会变的很繁忙为了,一张订单表会顶不住高峰期的压力。这时候就需要对订单表进行拆分,比如拆分10张表在不同库上。让业务压力分散在不同的订单表中。等高分期过去了,发现之前的分表分库占用了太多的机器等资源。那其实使用3张表就能顶住平时的压力。这时候就可以回收7张表的数据到其中三张。把资源放出来。做其他事情。毕竟购买和租用别人的资源是要花不少钱的。 :mrgreen: