全部產品
Search
文件中心

ApsaraDB RDS:事務拆分

更新時間:Jun 19, 2024

如果您的業務架構將所有請求都封裝到非自動認可的事務中,導致主執行個體負載過大,您可以開通RDS PostgreSQL的資料庫代理功能,該功能預設支援事務拆分,能夠在保證業務中讀寫一致性的前提下,將事務內寫操作發生之前的讀請求轉寄到唯讀執行個體,降低主執行個體負載。

前提條件

已開通資料庫代理服務,具體請參見開通資料庫代理

功能說明

預設情況下,RDS PostgreSQL的資料庫代理會將事務內的所有請求都發送到主執行個體以保障事務的讀寫一致性。但是某些架構會將所有請求封裝到非自動認可的事務中,導致主執行個體負載過大,而唯讀執行個體幾乎沒有壓力。

為瞭解決上述問題,您可以使用資料庫代理的事務拆分功能。您不需要改動應用的代碼或配置就可以將事務中的讀壓力從主執行個體轉移到唯讀執行個體,從而提高主執行個體的穩定性。

開啟資料庫代理後(資料庫代理的事務拆分功能預設開啟),在預設的Read Committed隔離等級下,當RDS PostgreSQL關閉事務自動認可後,僅會在發生寫操作時才正式開啟事務,正式開啟事務前的讀請求會通過負載平衡模組分流至唯讀執行個體。

說明
  • 資料庫代理的事務拆分功能預設開啟。暫不支援關閉。

  • 明確交易(例如begin或者start transaction)暫時不支援拆分。

  • 某些業務對全域一致性有要求,開啟事務拆分後將不滿足全域一致性,因此在開啟資料庫代理前請評估事務拆分功能是否適用於您的業務。

相關API

API

描述

DescribeDBProxy

查詢資料庫代理詳情。

DescribeDBProxyEndpoint

查詢資料庫代理的串連地址資訊。