RD:單庫數據量太大,數據庫扛不住了,我要申請一個數據庫從庫,讀寫分離。
DBA:數據量多少?
RD:5000w左右。
DBA:讀寫吞吐量呢?
RD:讀QPS約200,寫QPS約30左右。前端
上週在公司聽到兩個技術同窗討論,感受對讀寫分離解決什麼問題沒有弄清楚,有些奔潰。mysql
另,對於互聯網某些業務場景,並非很喜歡數據庫讀寫分離架構,一些淺見見文末。算法
答:一主多從,讀寫分離,主動同步,是一種常見的數據庫架構,通常來講:sql
答:大部分互聯網業務讀多寫少,數據庫的讀每每最早成爲性能瓶頸,若是但願:數據庫
一句話,分組主要解決「數據庫讀性能瓶頸」問題,在數據庫扛不住讀的時候,一般讀寫分離,經過增長從庫線性提高系統讀性能。緩存
答:水平切分,也是一種常見的數據庫架構,通常來講:架構
答:大部分互聯網業務數據量很大,單庫容量容易成爲瓶頸,若是但願:併發
一句話總結,水平切分主要解決「數據庫數據量大」問題,在數據庫容量扛不住的時候,一般水平切分。ide
對於互聯網大數據量,高併發量,高可用要求高,一致性要求高,前端面向用戶的業務場景,若是數據庫讀寫分離:微服務
有潛在的主庫從庫一致性問題
因此,上述業務場景下,樓主建議使用緩存架構來增強系統讀性能,替代數據庫主從分離架構。
固然,使用緩存架構的潛在問題:若是緩存掛了,流量所有壓到數據庫上,數據庫會雪崩。不過幸虧,雲上的緩存通常都提供高可用的服務。
但願這一分鐘你有收穫。隨手轉,謝過。