做电商的,现在一主多从的结构. 要做进一步的优化的话,采用垂直分库,水平分表,是最好的做法吗?
RDBMS上做sharding,分库的意义在于提升数据库的并行处理能力,分表的意义在于提升数据检索能力。垂直分库+水平分表,实际上是在业务垂直的单库内分表,想提升单业务库的并行处理能力,最终解决方案都是库表都水平。
其次,由于使用关系型数据库的本质是看重其ACID等特性,但是随着并发、数据量的增大,使用Sharding似乎是最终手段,但由于ACID、关联关系,以及外键约束等诸多特性相继被束缚,那么抛开RDBMS的稳定性和成熟度,以及开发人员根深蒂固的传统思维,在那些特殊的业务场景下将数据过渡到NoSQL中也是一个很好的方案。
在电商行业中,数据库优化通常涉及多个方面,包括垂直分库和水平分表,这些都是常见的数据库扩展策略。但是否是最佳做法,需要根据您的具体业务需求、数据量、访问模式以及现有系统的复杂性来判断。你可参考数据库方案设计及保障支持
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。