本文是自己對讀寫分離數據庫方面的一些改進想法
一般做數據庫讀寫分離的標准情況是:1台寫入數據庫+2台查詢數據庫+1個請求轉發器
這樣的配置容易出現這樣的問題:
1. 寫數據庫的寫入成為瓶頸
2. 查詢所需時間還是很長(由於表很大導致)
下面這些辦法,歡迎大家給出各自的看法
解決辦法一:
1. 查詢數據庫:增加內存,以達到通過內存就可以獲取大多數的數據,較少I/O耗時帶來的延遲
2. 寫入數據庫:刪除索引,以達到最快速的I/O寫入耗時
這樣做的問題是:沒有針對特別耗時的查詢單獨處理,因此當執行某些耗時的查詢時,會顯得特別慢
解決辦法二:
1. 查詢數據庫分成2種,分別為:普通數據讀取數據庫、特別耗時查詢數據庫
2. 針對“特別耗時查詢數據庫”進行優化,比如:定制索引、分區表、多物理磁盤等
程序中需要為上面這些點進行編碼,比如要辨別出哪些是耗時的查詢、自動辨別以便下次直接轉發查詢請求到“特別耗時查詢數據庫”
歡迎大家pk出不同的想法,哈哈。