在工作中,我接触到了mysql集群,mysql集群的实现方案有很多种,但是我在项目中真正用到的是主从结构,一主一从结构或者一主多从结构。目的是备份数据和实现负载均衡。举个例子:
有四个mysql实例:mysql实例A、mysql实例B、mysql实例C、mysql实例D。默认实例A为主库,其他为从库。由于A是主库,所以系统的所有数据库操作请求都要经过A才能达到B、C、D库。
当A接收到请求时,会先判断出该请求是查询操作还是更新操作。当发现是查询请求时,会进行负载均衡操作,那么用户就能快速获得查询结果。当发现是更新操作时,因为要保持数据同步,主从之间需要进行四次消息转递。
关于数据库节点扩容问题。有的文章讲增加节点可以提高数据的更新速度。但是根据我上面的分析,添加节点只会提高数据的查询速度,无法提高数据的更新速度,甚至可能会降低数据的更新速度。
看着上面的分析,节点扩容只能提高读的效率,无法提高写的效率。那想要提高写效率应该怎么做?