在對數據庫有少量寫請求,但有大量讀請求的應用場景下,單個實例可能無法承受讀取壓力,甚至對業務產生影響。為了實現讀取能力的彈性擴展,分擔數據庫壓力,您可以創建一個或多個只讀實例,利用只讀實例滿足大量的數據庫讀取需求,增加應用的吞吐量。
其他引擎只讀實例請參見:
簡介
創建只讀實例時會從備實例復制數據,數據與主實例一致,主實例的數據更新也會在主實例完成操作后立即自動同步到所有只讀實例,您也可以在只讀實例上設置只讀實例延時復制。
其他只讀實例同步延遲問題請參見RDS MySQL 只讀實例同步延遲原因與處理。
前提條件
RDS MySQL主實例需滿足以下條件:
數據庫版本:8.0、5.7或5.6
計費類型:包年包月或按量付費,Serverless實例不支持創建只讀實例。
實例系列:高可用系列
您可以前往實例基本信息頁面查看以上信息。
支持創建高可用系列或基礎系列的只讀實例;其中高可用系列的只讀實例為高可用架構(由主節點和備節點組成)。更多詳情,請參見高可用系列。
只讀實例、備實例和災備實例三者之間的區別
只讀實例和主備實例在同一地域,可以在不同可用區;備實例和主實例在同一個地域;災備實例和主備實例在不同地域。
只讀實例可以根據需要創建最多10個;備實例數量是固定的1~2個,高可用系列1個;災備實例是不同地域的一主一備。
只讀實例創建并設置讀權重后就會持續提供服務;備實例和災備實例在主實例正常運行時都不會提供服務。
只讀實例、主備實例和災備實例拓撲圖如下。
應用場景
單個實例負載過大時,可以創建只讀實例,將讀請求轉發至只讀實例,用于分擔主實例負載。
主實例因備份或維護等原因暫不可用時,可將讀請求轉發至只讀實例,保證部分業務正常運行。
在報表分析等場景下,使用只讀實例查詢、分析大量數據,不影響主實例業務。
在讀寫分離場景下,使用只讀實例可以避免讀寫鎖爭搶問題,提升系統的性能和吞吐量。
計費
計費方式為包年包月或按量付費。具體費用,請參見只讀實例規格列表。
注意事項
創建包年包月只讀實例時,若主實例也為包年包月,則可以選擇只讀實例與主實例生命周期對齊。
主實例到期鎖定期間,若只讀實例未到期,則依然可以正常訪問只讀實例,只讀實例狀態會更改為運行中(主實例鎖定)。
主實例被釋放后,包年包月只讀實例自動退款并釋放,按量付費只讀實例直接釋放。
已開通共享代理的RDS MySQL實例,需要釋放掉所有的只讀實例,在最后一個只讀實例被釋放時,會自動下發刪除代理讀寫連接地址的操作。如果此時有客戶端使用該連接地址,會造成業務訪問失敗等影響。
功能特點
計費方式:按量付費,使用更靈活。長期使用也可以包年包月,費用更便宜。
地域和可用區:與主實例在同一地域,可以在不同的可用區。
規格:可以與主實例不一致,并且可以隨時更改。建議只讀實例規格不小于主實例規格,否則易導致只讀實例延遲高、負載高等現象。
存儲類型:只讀實例的存儲類型需要和主實例保持一致。
存儲空間:只讀實例的存儲空間不能低于主實例。
網絡類型:可以與主實例不一致。
賬號與數據庫管理:不需要維護賬號與數據庫,全部通過主實例同步。
白名單:只讀實例創建時會自動復制其主實例的白名單信息,但只讀實例和主實例的白名單是相互獨立的。若您需要修改只讀實例的白名單,請參見設置IP白名單。
監控與報警:提供近20個系統性能指標的監控視圖,如磁盤容量、IOPS、連接數、CPU使用率、網絡流量等。
性能優化(僅MySQL支持):提供多種優化建議,如存儲引擎檢查、主鍵檢查、大表檢查、索引偏多、缺失索引等,用戶可以根據優化建議并結合自身的應用特點來對數據庫進行優化。
主備切換:高可用系列的只讀實例支持主備庫切換和查看主備切換日志功能。
功能限制
可創建的只讀實例數量:10個。
實例備份:因主實例已有備份,只讀實例僅支持設置本地日志保留策略,暫不支持設置自動備份策略以及手動發起備份。
實例恢復:
恢復全量數據(實例級恢復能力限制):只讀實例不支持通過備份集或任意時間點恢復數據到新實例中。
庫表恢復(庫表級恢復能力限制):只讀實例不支持通過備份集或任意時間點恢復數據到原實例或新實例中。
數據遷移:不支持將數據遷移至只讀實例。
數據庫管理:不支持創建和刪除數據庫。
賬號管理:不支持創建和刪除賬號,不支持為賬號授權以及修改賬號密碼功能。
創建只讀實例
常見問題
主實例上創建的賬號在只讀實例上可以用嗎?
主實例創建的賬號會同步到只讀實例,只讀實例無法管理賬號。賬號在只讀實例上只能進行讀操作,不能進行寫操作。
只讀實例能否暫停扣費?將讀權重調為0可以不扣費嗎?
只讀實例無法暫停扣費。如果不需要使用只讀實例,請及時釋放實例,詳情請參見釋放實例。
沒有開通數據庫代理服務,可以配置只讀實例的業務分配權重嗎?
沒有開通數據庫代理服務,無法配置只讀實例的業務分配權重,您可以在不同的應用程序中配置不同的連接地址(只讀實例或主實例連接地址),實現讀寫分離和負載均衡。
在什么情況下,需要購買高可用系列的只讀實例?
在有大量讀需求時,建議購買高可用系列的只讀實例,保證讀業務的穩定性。
如果主實例已經有備實例,還需要買高可用系列的只讀實例嗎?
備實例用來保證業務的可用性的,只讀實例用來做讀寫分離,處理讀需求。如果您有大量讀需求,建議購買高可用系列的只讀實例。