全部產品
Search
文件中心

ApsaraDB RDS:唯讀執行個體

更新時間:Apr 29, 2025

在少量寫請求,但有大量讀請求情境下,單個執行個體可能無法承受讀取壓力。您可以建立一個或多個唯讀執行個體來分擔資料庫壓力,滿足大量讀取需求,增加應用的輸送量。

簡介

建立唯讀執行個體時會從備執行個體複製資料,資料與主執行個體一致。主執行個體的資料更新會自動同步到所有隻讀執行個體。

說明
  • 高效能本地碟主執行個體最多可建立5個唯讀執行個體,雲端硬碟主執行個體最多可建立32個唯讀執行個體。

  • 高效能本地碟執行個體的唯讀執行個體為高可用架構。

  • 雲端硬碟執行個體的唯讀執行個體為單節點架構,沒有備節點,無法保障可用性。建議您購買多個唯讀執行個體,並使用libpq或JDBC實現自動容錯移轉,詳情請參見自動容錯移轉和讀寫分離。您也可以通過資料庫代理實現讀寫自動分離,更多資訊,請參見什麼是資料庫代理

唯讀執行個體拓撲圖如下圖所示。

應用情境

  • 單個執行個體負載過大時,可以建立唯讀執行個體,將讀請求轉寄至唯讀執行個體,以緩解主執行個體負載。

  • 主執行個體因備份或維護等原因暫不可用時,可將讀請求轉寄至唯讀執行個體,保證部分業務的正常運行。

  • 報表分析等情境中,使用唯讀執行個體查詢分析大量資料,不影響主執行個體。

  • 讀寫分離情境中,避免讀寫鎖爭搶問題,提升系統的效能和吞吐。

計費

支援訂用帳戶和隨用隨付兩種方式計費。訂用帳戶費用請以實際購買頁為準,隨用隨付具體費用請參見唯讀執行個體規格列表

功能特點

  • 地區和可用性區域:與主執行個體在同一地區,可以在不同的可用性區域。

  • 更改網路類型:可以與主執行個體不一致。

  • 帳號與資料庫管理:不需要維護帳號與資料庫,全部通過主執行個體同步。

  • 白名單:唯讀執行個體建立時會自動複製其主執行個體的白名單資訊,但兩者白名單相互獨立。若您需要修改唯讀執行個體的白名單,請參見設定白名單

  • 監控與警示:提供系統效能指標的監控視圖,如磁碟容量、IOPS、串連數、CPU使用率等。

  • 自動讀寫分離:配合主執行個體資料庫代理功能,可使寫請求自動轉寄到主執行個體,讀請求自動轉寄到各個唯讀執行個體,實現讀寫請求的自動分流,減輕主執行個體的壓力。若您需要為主執行個體開通資料庫代理功能,請參見什麼是資料庫代理

  • 唯讀執行個體的數量:雲端硬碟主執行個體最多建立32個唯讀執行個體,高效能本地碟主執行個體最多建立5個唯讀執行個體。

注意事項

  • 執行個體備份:因主執行個體已有備份,唯讀執行個體暫不支援備份設定以及手動發起備份。

  • 資料移轉:不支援將資料移轉至唯讀執行個體。

  • 資料庫管理:不支援建立或刪除資料庫。

  • 帳號管理:不支援建立或刪除帳號,不支援為帳號授權以及修改帳號密碼功能。

  • 規格及儲存空間:

    • 雲端硬碟:唯讀執行個體的儲存空間不能低於主執行個體。如果主執行個體記憶體大於唯讀執行個體記憶體,主執行個體變更配置時會重啟唯讀執行個體。

    • 高效能本地碟:唯讀執行個體的規格和儲存空間不能低於主執行個體。

  • 唯讀執行個體出現核心複製或其他不可預見的錯誤時,會重搭該唯讀執行個體。

  • 主執行個體被釋放後,訂用帳戶唯讀執行個體自動退款並釋放,隨用隨付唯讀執行個體直接釋放。

常見問題

  • Q:唯讀執行個體的計費方式可以轉化嗎?

    A:可以。具體操作,請參見隨用隨付轉訂用帳戶訂用帳戶轉隨用隨付

  • Q:變更唯讀執行個體的配置、釋放唯讀執行個體、轉化唯讀執行個體計費方式會影響主執行個體嗎?

    A:不會。

  • Q:主執行個體上建立的帳號在唯讀執行個體上可以用嗎?

    A:主執行個體建立的帳號會同步到唯讀執行個體,唯讀執行個體無法管理帳號。帳號在唯讀執行個體上只能進行讀操作,不能進行寫操作。

  • Q:唯讀執行個體可以轉變為常規執行個體嗎?比如作為容災執行個體?

    A:暫不支援。

  • Q:能否對唯讀執行個體的資料進行備份?執行個體的自動備份能否在唯讀執行個體上進行?

    A:無需對唯讀執行個體進行備份,備份在主執行個體上進行,由於RDS PostgreSQL的備份使用快照備份,對主執行個體沒有效能開銷。

  • Q:唯讀執行個體是否支援並行複製?

    A:RDS PostgreSQL採用的是物理流複製,基於WAL記錄檔同步加回放來實現資料複製能力,效率高,無需使用並行複製。

  • Q:交易記錄的清除機制是怎樣的?

    A:RDS PostgreSQL的WAL記錄備份完成後,由核心在Checkpoint操作中自動清理。

  • Q:如何通過唯讀執行個體延遲時間判斷複製是否正常?

    A:通常情況下唯讀執行個體延遲時間在1秒以內,如果超過1秒,說明資料同步延遲,極端情境下也可能出現斷開的情境。

  • Q:複寫延遲通常是什麼原因引起的?

    A:常見原因及解決辦法如下:

    • 原因1:主執行個體規格大,唯讀執行個體規格過小,導致主備延遲過大。

      解決方案:升級唯讀執行個體規格,更多資訊,請參見變更配置

    • 原因2:參數max_standby_streaming_delay設定不合理,導致複寫延遲較高。參數設定方法,請參見設定執行個體參數

      解決辦法:調整參數max_standby_streaming_delay取值:

      • 該值設定較小時可以減少唯讀執行個體與主執行個體之間資料複寫延遲,但過小時可能會導致唯讀執行個體的事務被取消。

      • 該值設定過大時可能會造成複寫延遲。