只讀實例
在對數據庫有少量寫請求,但有大量讀請求的應用場景下,單個實例可能無法承受讀取壓力,甚至對業務產生影響。為了實現讀取能力的彈性擴展,分擔數據庫壓力,您可以創建一個或多個只讀實例,利用只讀實例滿足大量的數據庫讀取需求,增加應用的吞吐量。
簡介
創建只讀實例時會從備實例復制數據,數據與主實例一致,主實例的數據更新也會在主實例完成操作后立即自動同步到所有只讀實例。
本地盤主實例最多創建5個只讀實例,云盤主實例最多創建32個只讀實例。
本地盤實例的只讀實例為高可用架構。
云盤實例的只讀實例為單節點架構,沒有備節點,因此無法保障可用性,建議您購買多個只讀實例,使用libpq或JDBC實現自動故障轉移,詳情請參見自動故障轉移和讀寫分離。您也可以通過數據庫代理實現讀寫自動分離,更多信息,請參見什么是數據庫代理。
只讀實例拓撲圖如下圖所示。
應用場景
單個實例負載過大時,可以創建只讀實例,將讀請求轉發至只讀實例,用于緩解主實例負載。
主實例因備份或維護等原因暫不可用時,可將讀請求轉發至只讀實例,保證部分業務。
報表分析等場景,使用只讀實例查詢分析大量數據,不影響主實例。
讀寫分離場景,避免讀寫鎖爭搶問題,提升系統的性能和吞吐。
計費
支持包年包月和按量付費兩種方式計費。包年包月費用請以實際購買頁為準,按量付費具體費用請參見只讀實例規格列表。
功能特點
地域和可用區:與主實例在同一地域,可以在不同的可用區。
更改網絡類型:可以與主實例不一致。
賬號與數據庫管理:不需要維護賬號與數據庫,全部通過主實例同步。
白名單:只讀實例創建時會自動復制其主實例的白名單信息,但只讀實例和主實例的白名單是相互獨立的。若您需要修改只讀實例的白名單,請參見設置白名單。
監控與報警:提供系統性能指標的監控視圖,如磁盤容量、IOPS、連接數、CPU使用率等。
自動讀寫分離:配合主實例數據庫代理功能,可使寫請求自動轉發到主實例,讀請求自動轉發到各個只讀實例,實現讀寫請求的自動分流,減輕主實例的壓力。若您需要為主實例開通數據庫代理功能,請參見什么是數據庫代理。
只讀實例的數量:云盤主實例最多創建32個只讀實例,本地盤主實例最多創建5個只讀實例。
注意事項
實例備份:因主實例已有備份,只讀實例暫不支持備份設置以及手動發起備份。
數據遷移:不支持將數據遷移至只讀實例。
數據庫管理:不支持創建和刪除數據庫。
賬號管理:不支持創建和刪除賬號,不支持為賬號授權以及修改賬號密碼功能。
規格及存儲空間:
云盤:只讀實例的存儲空間不能低于主實例,且如果主實例內存大于只讀實例內存,主實例變配時會重啟只讀實例。
本地盤:只讀實例的規格和存儲空間不能低于主實例。
只讀實例出現內核復制或其他不可預見的錯誤時,會重搭該只讀實例。
主實例被釋放后,包年包月只讀實例自動退款并釋放,按量付費只讀實例直接釋放。