我们在对表进行分区的时候,不管是什么样的数据库都会对分区键的进行很慎重的选择,结合频率高的sql和纬度分析,进行合理的选择,如果是mysql使用mycat中间件的话也很重要,来讨论一下,你都是结合什么维度来选择分区键并且使用过哪些中间件,它们对分表的支持是否完美
个人觉得这个分区键的选择主要还是看业务,对于你要看分区的表,统计历史查询频率字段,通过字段选择适合的分区类型,常用的时间维度,分组维度(比如按照用户,商品,订单等),流水维度等mycat从功能性上说,对分区的支持还是人性化的,定制化的规则,对应用改动较小,不过后期扩展性不是太友好,跨库查询性能比较差等
总结一下,每个企业对于这个选择都有一个特别需要注意的地方,那就是业务,脱离了业务讨论什么并没有什么意义,所以,我们需要关注业务模块,只有真正了解了你的业务模块 才能去做比较准确的预判,当然每个人都有各自自己的想法,这里我想说,条条大路通罗马,可以多尝试总有一个适合你的方案,
分表分区的依据主要是根据业务逻辑来判断,必须在统筹所有对此表的所有可能业务场景后考虑分区键或者分区表。中间件的选择市场上有很多,但一般都是解决的如何应用访问,真正从运维角度考虑的很少,一旦分库之后,应用开发人员需要考虑的事情会增多,运维人员一般会增多,比如多个库节点如何备份保证时间的一致性,如果进行主备切换等。
关于TWT使用指南社区专家合作厂商入驻社区企业招聘投诉建议版权与免责声明联系我们 © 2024talkwithtrend — talk with trend,talk with technologist京ICP备09031017号-30