单服务下的数据库分库是否有意义?
我知道分库分表原因简单来说主要有以下两个:
原因1:单表数据量过大,出现查询性能问题
原因2:业务访问压力过大,出现IO瓶颈或CPU瓶颈
分库分表可以缓解上述问题,但对分库有一个小疑问,从分库的字面上理解,有下面两种做法:
分库方式1:在同一台服务器上(或者说在同一个mysql服务下)拆分为两个database
分库方式2:拆分到不同的数据库服务器分摊访问压力
针对第一种分库,这么做能解决什么问题,有什么好处呢?一般什么情况下这么做?
谢谢解答。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
同一台数据库主要靠分表来优化,不需要分库;
除非业务耦合度很低,需要用不同库来区分不同业务,赋予不同访问权限。
第一种应该是分表,有垂直分表和水平分表,也可混用
垂直分表可以降低被锁概率,水平分表降低单表数据量,降低索引B树的高度,提升查询效率