在互聯(lián)網(wǎng)的很多實際應(yīng)用場景中,經(jīng)常會出現(xiàn)數(shù)據(jù)庫的讀操作遠(yuǎn)多于數(shù)據(jù)庫的寫操作的情況,這個時候如果讀寫操作都在同一個數(shù)據(jù)庫,那么該數(shù)據(jù)庫所承載的并發(fā)讀寫壓力就會比較大,容易出現(xiàn)I/O讀寫性能瓶頸,進(jìn)而會影響到業(yè)務(wù)或應(yīng)用的正常訪問以及使用體驗。
如果在您業(yè)務(wù)的實際應(yīng)用場景中,遇到數(shù)據(jù)庫讀操作遠(yuǎn)多于寫操作,且單個數(shù)據(jù)庫無法很好支撐并發(fā)讀寫,出現(xiàn)I/O讀寫性能瓶頸的情況下,建議您把數(shù)據(jù)庫拆分、配置成“讀寫分離”的集群架構(gòu)會更好。
億速云提供的在線數(shù)據(jù)庫服務(wù)產(chǎn)品“云數(shù)據(jù)庫MySQL”的用戶端管理控制臺,針對減輕單個數(shù)據(jù)庫并發(fā)讀寫壓力,以及提升和優(yōu)化數(shù)據(jù)庫的查詢性能,推出了數(shù)據(jù)庫“讀寫分離”的集群架構(gòu)付費增值功能。
“讀寫分離”的原理
在互聯(lián)網(wǎng)的應(yīng)用場景或生產(chǎn)環(huán)境中,數(shù)據(jù)庫的讀寫操作都在同一個數(shù)據(jù)庫,很多時候無法滿足和承載該應(yīng)用場景或生產(chǎn)環(huán)境的實際需求。因為數(shù)據(jù)庫的“寫”操作相對比較耗時,而“讀”操作則需要的時間較短。所以,當(dāng)數(shù)據(jù)庫的讀操作遠(yuǎn)多于寫操作的情況下,為了突破數(shù)據(jù)庫I/O讀寫的性能瓶頸,可以考慮對數(shù)據(jù)庫采用“讀寫分離”的集群架構(gòu)解決方案。
數(shù)據(jù)庫“讀寫分離”集群架構(gòu)示意圖
“讀寫分離”,顧名思義就是把數(shù)據(jù)庫的讀操作和寫操作進(jìn)行分離,不在同一個數(shù)據(jù)庫中進(jìn)行,而是分開對應(yīng)不同的數(shù)據(jù)庫。讓主庫(主數(shù)據(jù)庫)處理寫操作,而從庫(從數(shù)據(jù)庫)只負(fù)責(zé)讀操作,主庫(主數(shù)據(jù)庫)會同步數(shù)據(jù)到從庫(從數(shù)據(jù)庫),以保證數(shù)據(jù)最終的一致性。讀寫分離能夠有效地緩解和減輕單個數(shù)據(jù)庫所承載的并發(fā)讀寫壓力,線性提升和優(yōu)化數(shù)據(jù)庫的查詢性能(讀操作性能),可以節(jié)約系統(tǒng)開銷,增加冗余,提高可用性。
億速云“云數(shù)據(jù)庫MySQL”用戶端管理控制臺
開通讀寫分離的操作流程
1.用戶必須有一臺能正常使用的“高可用版云數(shù)據(jù)庫MySQL實例”作為數(shù)據(jù)庫的主實例。
2. 進(jìn)入云數(shù)據(jù)庫MySQL實例的管理界面,在“基本信息”一欄選擇購買一臺只讀實例。(注意:選擇購買的只讀實例的磁盤存儲容量,必須大于或等于主實例的磁盤存儲容量。)
3. 選擇好“只讀實例”所需要的配置并購買完成后,等待它自動創(chuàng)建。“只讀實例”完成創(chuàng)建一般1—2分鐘左右即可。
4. 在管理界面的“數(shù)據(jù)庫代理”一欄,點擊開通數(shù)據(jù)庫代理服務(wù)。
5. 在“數(shù)據(jù)庫代理”一欄的“代理服務(wù)”功能項,設(shè)置好相關(guān)配置條件。
6. 在“數(shù)據(jù)庫代理”一欄的“讀寫分離”功能項,點擊立即開啟。
7. 點擊開啟“讀寫分離”后,用戶可自定義設(shè)置讀寫分離的延遲閾值。延遲閾值是指云數(shù)據(jù)庫MySQL的“主實例”與“只讀實例”之間在進(jìn)行數(shù)據(jù)同步時存在的延遲時間的臨界值。
8. “讀寫分離”開啟成功,可以看到相關(guān)的基本信息和示意圖。
億速云提供的在線數(shù)據(jù)庫服務(wù)“云數(shù)據(jù)庫MySQL”
具備的功能、特點與優(yōu)勢