数据库读写分离的优势?

对于互联网应用的瓶颈一部分是在数据库上,因此不得不想很多办法来解决这个问题,数据库集群或读写分离也是其中的一个方案,但是涉及到一个问题就是数据同步,也正是这其中有一点让我很疑惑
image.png
上图只是随便举个例子,也许数据库是分为读写或集群,但是数据库之间是要同步数据的,所以读那台服务器最终也会被写入数据,那与应用服务器直接连接它的区别点在哪里呢?难道就只是数据同步是异步操作,耗费的时间可以长一点,而写的数据库由于不建立索引使响应用户操作时间要快一点吗?

阅读 3.8k
2 个回答

因为写是有锁开销的,会影响读的性能

读写分离就是为了应对读多写少的场景的,如果你的应用是写多读少,那么读写分离并没有什么卵用。当然了,绝大部分应用的场景也都是读多写少的。

另外你所谓的 读那台服务器最终也会被写入数据,那与应用服务器直接连接它的区别点在哪里,抛开并发不谈吗?主从同步是什么级别的写入并发?面向用户的业务直接写库又是什么级别的写入并发?

主从同步势必有时延,努力降低时延造成的影响也是目标之一,这也是跟大并发读之间做的取舍。没有各方面全都完美的方案。

读写分离一般是为了分摊读成本,从库可以选择读优先引擎,多从情况下可以明显提升读性能。
主要是通过集群解决单机读问题。
如果读的实时性要求高,那显然是有副作用,主从同步必定有通讯成本在里面。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题