當您面臨資料庫讀取壓力大幅增加時,雲資料庫RDS PostgreSQL支援建立唯讀執行個體來擴充讀取能力,提高應用的整體輸送量。唯讀執行個體使用物理複製技術,能夠即時同步主執行個體資料,確保資料的一致性。
關於唯讀執行個體的更多介紹,請參見PostgreSQL唯讀執行個體簡介。
前提條件
您已建立PostgreSQL主執行個體,主執行個體滿足以下條件:
執行個體版本:目標執行個體版本仍在售賣中,已停售版本不支援建立唯讀執行個體,詳情請參見已停售版本。
執行個體系列:高可用系列。
執行個體規格:
雲端硬碟:無特殊要求。
本地碟:規格為獨享套餐(8核32 GB以上)。
計費方式:訂用帳戶或隨用隨付,Serverless計費方式的執行個體暫不支援建立唯讀執行個體。
建立PostgreSQL唯讀執行個體前,請在基本資料頁面確認執行個體系列及規格資訊。如果不滿足要求,且需要建立唯讀執行個體時,請單擊變更配置,將基礎系列變更為高可用系列後再建立唯讀執行個體,具體操作,請參見變更配置。
注意事項
建立唯讀執行個體時,必須選擇與主執行個體相同的VPC,否則將會建立失敗並且退款。
只能在主執行個體內建立唯讀執行個體,不能將已有執行個體切換為唯讀執行個體。
由於建立唯讀執行個體時是從備執行個體複製資料,因此不會影響主執行個體。
唯讀執行個體的參數不繼承主執行個體上的參數設定,會產生預設的參數值,可以在唯讀執行個體的控制台上進行修改。
重要新通用型唯讀執行個體的參數會繼承主執行個體上的參數設定。新通用型唯讀執行個體的更多資訊,請參見RDS PostgreSQL唯讀執行個體規格列表。
建立的唯讀執行個體儲存類型與主執行個體一致。
本地碟唯讀執行個體的規格和儲存空間不能低於主執行個體。
雲端硬碟版唯讀執行個體的規格建議與主執行個體保持一致,或大於等於主執行個體規格的1/2,避免唯讀執行個體效能與主執行個體相差過大而導致的複寫延遲、OOM等情況。
雲端硬碟版唯讀執行個體儲存空間不能低於主執行個體,且如果主執行個體記憶體大於唯讀執行個體記憶體,主執行個體變更配置時會重啟唯讀執行個體。
建立的唯讀執行個體記憶體需滿足如下要求:
主執行個體記憶體範圍
唯讀執行個體記憶體要求
(0 GB~64 GB]
至少為主執行個體記憶體的1/4
(64 GB~256 GB]
至少為主執行個體記憶體的1/6
(256 GB~9999 GB]
至少為主執行個體記憶體的1/8
本地碟主執行個體最多建立5個唯讀執行個體,雲端硬碟主執行個體最多建立32個唯讀執行個體。
本地碟執行個體的唯讀執行個體為高可用架構,雲端硬碟執行個體的唯讀執行個體為單節點架構(沒有備節點)。
說明單節點架構沒有備節點,因此無法保障可用性,建議您購買多個唯讀執行個體,使用libpq或JDBC實現自動容錯移轉,詳情請參見自動容錯移轉和讀寫分離,您也可以通過資料庫代理實現讀寫自動分離,更多資訊,請參見什麼是資料庫代理。
建立唯讀執行個體會產生費用,支援訂用帳戶和隨用隨付兩種方式計費。訂用帳戶費用請以實際購買頁為準,隨用隨付具體費用請參見唯讀執行個體規格列表。
建立唯讀執行個體
訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在執行個體分布地區找到唯讀執行個體,單擊添加。
說明舊版控制台請在右側單擊添加唯讀執行個體。
設定唯讀執行個體的參數。
參數
說明
計費方式
訂用帳戶:長期使用RDS唯讀執行個體推薦使用訂用帳戶(一次性付費),在頁面左下角選擇購買時間長度
隨用隨付:短期使用RDS唯讀執行個體,請選擇隨用隨付(按小時付費)。您可以先建立隨用隨付的唯讀執行個體,確認執行個體符合要求後再轉訂用帳戶。
產品類型
僅當主執行個體儲存類型為ESSD雲端硬碟或通用雲端硬碟時,才支援選擇倚天版。
標準版和倚天版的更多資訊,請參見產品類型。
可用性區域
可用性區域是地區中的一個獨立物理地區,不同可用性區域之間沒有實質性區別。相比單可用性區域,多可用性區域能提供可用性區域層級的容災。
執行個體規格
通用規格:通用型的執行個體規格,獨享被分配的記憶體和I/O資源,與同一伺服器上的其他通用型執行個體共用CPU和儲存資源。
獨享規格:獨享或獨佔型的執行個體規格。獨享型指獨享被分配的CPU、記憶體、儲存和I/O資源。獨佔型是獨享型的頂配,獨佔整台伺服器的CPU、記憶體、儲存和I/O資源。
說明每種規格都有對應的CPU核心數、記憶體、最大串連數和最大IOPS。本地碟主執行個體的唯讀執行個體規格不能低於主執行個體。規格詳情請參見RDS PostgreSQL唯讀執行個體規格列表。
儲存空間
儲存空間包括資料空間、系統檔案空間、wal檔案空間和事務檔案空間。調整儲存空間時最小單位為5GB。
說明各規格的儲存空間大小,請參見RDS PostgreSQL唯讀執行個體規格列表。
雲端硬碟主執行個體的唯讀執行個體儲存空間不能低於主執行個體,且如果主執行個體記憶體大於唯讀執行個體記憶體,主執行個體變更配置時會重啟唯讀執行個體。
本地碟主執行個體的唯讀執行個體儲存空間不能低於主執行個體。
單擊下一步:執行個體配置,設定如下參數。
參數
說明
網路類型
預設與主執行個體網路類型、VPC和主節點交換器保持一致。
執行個體釋放保護
如果計費方式為隨用隨付,則可以為隨用隨付執行個體開啟執行個體釋放保護,防止隨用隨付執行個體被意外釋放。更多資訊,請參見開啟和關閉執行個體釋放保護。
資源群組
預設與主執行個體資源群組相同,不支援修改。
時區
預設與主執行個體時區保持一致。
SLR 授權
無需配置,購買主執行個體時已授權。SLR授權的相關資訊,請參見【產品/功能變更】2022年10月10日起建立RDS PostgreSQL執行個體需SLR授權。
執行個體描述
設定執行個體名稱,方便管理。
單擊下一步:確認訂單。
勾選服務合約,單擊去支付,根據提示完成支付。
唯讀執行個體建立時間與主執行個體儲存類型及磁碟大小相關,請參考以下預估時間,耐心等待唯讀執行個體建立。
主執行個體儲存類型為SSD雲端硬碟,建立時間約為一次全量備份時間+20分鐘。
主執行個體儲存類型為ESSD雲端硬碟,建立時間約為20分鐘。
建立唯讀執行個體期間對主執行個體無影響,建立成功後會在主執行個體中產生一個WAL Sender的進程,用於發送WAL日誌到唯讀執行個體。
RDS PostgreSQL通過快照的方式搭建唯讀執行個體,與資料量大小無關。
查看唯讀執行個體
查看唯讀執行個體的延遲時間
唯讀執行個體同步主執行個體的資料時,可能會有一定的延遲。您可以在唯讀執行個體的基本資料頁面查看延遲時間。
相關API
API | 描述 |
建立RDS唯讀執行個體 |
常見問題
Q:唯讀執行個體的計費方式可以轉化嗎?
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:複寫延遲通常是什麼原因引起的?