Mysql主从复制和集群有何区别?分别适用什么场景?
redis主从复制和集群区别很明显,前者是为了提供冗余高可用,后者是为了将数据分散保存,不同的redis节点有不同的数据。
但是mysql主从和集群好像节点都有一样的数据,和redis主从/集群之间的差别完全不同,那是mysql主从和集群分别适用于什么场景?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
mysql主从的作用:
1、数据热备:作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。
2、架构的扩展:业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。
3、读写分离使数据库能支撑更大的并发。在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。
或者 如果网站访问量和并发量太大了,少量的数据库服务器是处理不过来的,会造成网站访问慢。数据写入会造成数据表或记录被锁住,锁住的意思就是其他访问线程暂时不能读写要等写入完成才能继续,这样会影响其他用户读取速度。采用主从复制可以让一些服务器专门读,一些专门写可以解决这个问题。
而集群则是直接增加可承载读写量的办法,效果比主从好。
主从读写分离
cluster集群多节点同时读写
主从写压力扩展就是多套主从,相对麻烦,但是架构灵活,性能好
多点读写cluster模式都避不开一个写性能问题,写一个节点需要同步到所有节点才能算一个事务结束,优点是任一节点挂掉都不影响集群使用
不太好说(不太熟悉)。举个例子吧!如果一个网站,访问量很大,那么读写的压力可能就很大,这会为了提高性能,用户体验,等等,就用主从,主数据不懂,从 redis 则快速读写,完成用户需求。而集群则可以用于地区不同,进行不同的集群使用。比如一个分公司是广东的,一个分公司是福建的。
mysql可以将数据分散保存到多台服务器么?不是主从模式,类似redis集群模式,我最近也在查这块的资料