猿问

数据库分库策略请教

最近在设计新系统的分库,计划在jdbc-shading, cobar 和 mycat三者之中选一个,想看看社区里面大神的意见。

jdbc-shading对单个简单应用比较友好,通过引入jar包,设置好规则,就可以了。但如果是一个服务群的话,是不是设计数据源的管理问题。另一方面,客户端工具要连上去找数据的话,是不是还得一个节点一个节点的去连。

而cobar和mycat,通过代理的方式,隐藏了后端数据库节点的细节,对外提供统一的数据源。对应用和客户端都比较友好,但是设计中间件,又要多一个高可用的考虑。

另外,在具体的分库策略上也想请教一下,我的应用是一个仓管应用,数据权限通过仓库编号做,大部分业务表都是带有仓库编号的,这种场景是不是比较适合采用mycat的ER分区策略。但是如果采用ER分区的话,会涉及一个热点仓库问题,个别仓库的业务量大导致的IO和数据量在各个节点中的不均衡。

或者我采用一致性hash的分区方案,但是这样,就基本放弃表连接了。

请教下各位,帮我想想怎么分比较合适,或者提供下各位所在系统的分区策略,以激发一下我的想象:)

一只名叫tom的猫
浏览 404回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答