数据库读写分离的优势?
对于互联网应用的瓶颈一部分是在数据库上,因此不得不想很多办法来解决这个问题,数据库集群或读写分离也是其中的一个方案,但是涉及到一个问题就是数据同步,也正是这其中有一点让我很疑惑
上图只是随便举个例子,也许数据库是分为读写或集群,但是数据库之间是要同步数据的,所以读那台服务器最终也会被写入数据,那与应用服务器直接连接它的区别点在哪里呢?难道就只是数据同步是异步操作,耗费的时间可以长一点,而写的数据库由于不建立索引使响应用户操作时间要快一点吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
因为写是有锁开销的,会影响读的性能。
读写分离就是为了应对读多写少的场景的,如果你的应用是写多读少,那么读写分离并没有什么卵用。当然了,绝大部分应用的场景也都是读多写少的。
另外你所谓的
读那台服务器最终也会被写入数据,那与应用服务器直接连接它的区别点在哪里
,抛开并发不谈吗?主从同步是什么级别的写入并发?面向用户的业务直接写库又是什么级别的写入并发?主从同步势必有时延,努力降低时延造成的影响也是目标之一,这也是跟大并发读之间做的取舍。没有各方面全都完美的方案。
读写分离一般是为了分摊读成本,从库可以选择读优先引擎,多从情况下可以明显提升读性能。
主要是通过集群解决单机读问题。
如果读的实时性要求高,那显然是有副作用,主从同步必定有通讯成本在里面。