码农日志2020-06-09

数据库的分库分表

设计一个查询获取更新数据到表之前的一个拦截器。
拦截器干啥活:根据分库分表的策略去查不同的库对应的表

当然得有表记录已经分库的表的对应策略,比如1记录走A库,2记录走B库,查询或者更新前查询这个策略表然后把库名传进查询xml,查询到对应的记录

理论上一张业务表对应一张策略记录表,策略表有自增id,业务表id,库名,创建时间,更新时间,这个表业务创建的时候也跟着创建,格式统一,比如业务表为A001,则策略表为A001_celue。
策略表可以单独在一个库,如果数据量很大很大,还可以对策略表进行进一步分库
还可以对策略表做缓存
还有个当前的全局的分库策略表,新进来的数据根据该策略走不同的库

还有个策略更新记录表,记录什么时候修改策略

所有后续的数据迁移的修改对应的策略表。所以最好页面用户传入迁移的sql,然后进行迁移,并修改对应的策略表

后续用户只需要管理后台操作分库分表就可以。

后台页面得有个功能,根据不同的库自动把所有的表的表名展示,用户可以根据选择业务表名自动创建和更新对应的策略表。

查询策略表的时候想办法用数据结构提高查询效率,B+数啊或者其他,这个得学习和研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值