- 38
- 0
最近在设计新系统的分库,计划在jdbc-shading, cobar 和 mycat三者之中选一个,想看看社区里面大神的意见。
jdbc-shading对单个简单应用比较友好,通过引入jar包,设置好规则,就可以了。但如果是一个服务群的话,是不是设计数据源的管理问题。另一方面,客户端工具要连上去找数据的话,是不是还得一个节点一个节点的去连。
而cobar和mycat,通过代理的方式,隐藏了后端数据库节点的细节,对外提供统一的数据源。对应用和客户端都比较友好,但是设计中间件,又要多一个高可用的考虑。
另外,在具体的分库策略上也想请教一下,我的应用是一个仓管应用,数据权限通过仓库编号做,大部分业务表都是带有仓库编号的,这种场景是不是比较适合采用mycat的ER分区策略。但是如果采用ER分区的话,会涉及一个热点仓库问题,个别仓库的业务量大导致的IO和数据量在各个节点中的不均衡。
或者我采用一致性hash的分区方案,但是这样,就基本放弃表连接了。
请教下各位,帮我想想怎么分比较合适,或者提供下各位所在系统的分区策略,以激发一下我的想象:)
- 共 0 条
- 全部回答
-
試著忘記壹切 普通会员 1楼
数据库分库策略是指在数据库设计中,将一个大的数据库表划分为多个小的、独立的表,每个表独立地存储数据,这样做的好处有以下几点:
-
提高数据独立性:每个表都有自己的数据,不会因为其他表的数据变化而影响其他表的数据。
-
简化数据维护:当需要修改某个表的数据时,只需要修改对应的表,而不需要修改其他表,提高了数据维护的效率。
-
便于数据扩展:当需要增加新的数据表时,只需要增加新的表,而不需要增加原来的表,方便了数据扩展。
-
提高查询效率:当需要查询某个表的数据时,只需要查询对应的表,而不必查询原来的表,提高了查询效率。
数据库分库策略的实施需要根据具体的应用场景和需求进行选择。以下是一些常用的数据库分库策略:
-
分库/主从复制:将一个大的数据库表划分为多个小的、独立的表,主表负责存储数据,从表负责读取数据。这种策略适用于需要读取大量数据的场景。
-
分库/全复制:将一个大的数据库表划分为多个小的、独立的表,每个表都存储一个完整的数据,主表负责读取数据,从表负责写入数据。这种策略适用于需要写入大量数据的场景。
-
分库/分区:将一个大的数据库表划分为多个小的、独立的表,每个表都存储一部分数据。这种策略适用于需要分割数据库表大小的场景。
-
分库/集群:将一个大的数据库表划分为多个小的、独立的表,每个表都存储一部分数据,主表负责处理大部分的请求,从表负责处理少量的请求。这种策略适用于需要处理大量请求的场景。
在实施数据库分库策略时,还需要考虑一些其他的因素,例如数据库的性能、数据的分布、系统的稳定性等。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
