请教一些分库分表的问题

查看 88|回复 9
作者:jiobanma   
目前线上数据库中一个大表大概有 2k 万条数据。
这 2 千万数据大概是 1 年的量。之后业务量变大,可能会更高一点。
准备对这个表进行分表,有两点问题想咨询一下大佬们。
[ol]
  • 大概分多少个表,能够支持未来几年的业务量。
  • 分表后,旧表的数据如何迁移到新表内(可停服,不用考虑过渡阶段数据)。 写代码/canal/LogStatsh/flink-cdc
    [/ol]

    分表, 业务量, 分库, 大概

  • imokkkk   
    感觉既然决定了分就一次性分到位 要不后面再扩 迁移数据头大
    cubecube   
    分区表,分个毛线。现在全闪存,大内存服务器,非国内 top10 的公司,放弃分库分表吧
    flashBee233   
    分布式数据库 OceanBase 咋样
    richangfan   
    建新表,写 SQL 转移数据,再把新旧表的名字改了
    raphaell2e   
    如果数据分布时间均匀的话,可以按年月分表,按你的数据量描述一个月 200 万左右的数据量,搓搓有余。数据迁移的话,提前写好 migrate 脚本,设定数据冻结时间,先跑脚本迁移数据,然后上线,上线后再同步冻结时间到上线时间之间产生的数据。
    Hurriance   
    尝试看有没有可能从垂直增强(机器配置)的角度加强下?
    因为我发现,引入分库分表带来的不止是开发过程中的心智成本的增加,还会需要运维团队的支持,不充分的考虑引入可能会带来更大的隐患和成本,如果你需要考虑这个的话。
    iyaozhen   
    其实 mysql 的表分区还是很好用的,可以按一个字段,比如日期分表,对应用层还是一张表。预先把未来的分区都建好就行
    nash1000   
    两千万一点数据一点都不多,找个字段建个分区,常用的一些字段加一些索引就行了
    opengps   
    硬盘速度快,查询简单,那么 2k 万数据并不多,结合合理的索引就行
    查询如果复杂,那么有必要提升下硬盘速度,或者表结构上拆分一下了
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部