读写分离,就该这么改进

本文是自己对读写分离数据库方面的一些改进想法

一般做数据库读写分离的标准情况是:1台写入数据库+2台查询数据库+1个请求转发器
这样的配置容易出现这样的问题:

1. 写数据库的写入成为瓶颈

2. 查询所需时间还是很长(由于表很大导致)

下面这些办法,欢迎大家给出各自的看法

解决办法一:


1.
查询数据库:增加内存,以达到通过内存就可以获取大多数的数据,较少I/O耗时带来的延迟


2.
写入数据库:删除索引,以达到最快速的I/O写入耗时


这样做的问题是:没有针对特别耗时的查询单独处理,因此当执行某些耗时的查询时,会显得特别慢

解决办法二:


1. 查询数据库分成2种,分别为:普通数据读取数据库特别耗时查询数据库


2. 针对“特别耗时查询数据库”进行优化,比如:定制索引、分区表、多物理磁盘等


程序中需要为上面这些点进行编码,比如要辨别出哪些是耗时的查询、自动辨别以便下次直接转发查询请求到“特别耗时查询数据库”

欢迎大家pk出不同的想法,哈哈。

原文地址:https://www.cnblogs.com/aarond/p/DBWriteRead.html