本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

什麼是資料庫代理

更新時間:2025-04-10 19:17

PolarDB資料庫代理是位於資料庫和應用程式之間的網路代理程式服務,用於代理應用程式訪問資料庫時的所有請求,具有高可用、高效能、可營運、簡單易用等特點,支援自動讀寫分離、負載平衡、一致性層級、串連池、過載保護等進階功能。您可以串連PolarDB叢集地址使用資料庫代理的各項功能。

PolarDB資料庫代理介紹

1

PolarDB叢集版是一個由多節點構成的資料庫叢集,包括一個主節點和多個唯讀節點。對外預設提供兩個地址,分別為主地址叢集地址。其中,叢集地址功能由PolarDB資料庫代理提供,叢集地址分為可讀可寫(自動讀寫分離)和唯讀兩種讀寫入模式。

支援兩種資料庫代理版本

資料庫代理企業版提供兩種版本:企業通用版企業獨享版

  • 企業通用版:配套叢集子系列的通用規格,它可以共用CPU實體資源。資料庫代理的CPU資源不佔用叢集的CPU資源,其規格預設為對應叢集中資料庫節點總核心數的1/6。

  • 企業獨享版:配套叢集子系列的獨享規格,它可以獨佔CPU實體資源,具有更好的效能穩定性。資料庫代理的CPU資源不佔用叢集的CPU資源,其規格預設為對應叢集中資料庫節點總核心數的1/4。

兩種版本的差異如下表所示:

對比項

企業通用版

企業獨享版

對比項

企業通用版

企業獨享版

計費類型

免費

資源類型

共用CPU實體資源,可根據業務負載,提供智能秒級資源彈性擴充能力

獨佔實體資源,具有更好的效能穩定性

部署架構

高可用冗餘架構

執行個體規格

最低配置:2核

串連數

無限制

IOPS

叢集儲存最大IOPS相比歷史版本可提升50%,不同規格叢集的最大IOPS可參見企業版計算節點規格

唯讀節點配置

唯讀節點無需與主節點配置保持一致,可以根據業務負載降配從而節省成本

唯讀節點數量

支援1~15個唯讀節點

串連地址

1個主地址+7個叢集地址

熱備切換

串連/事務不中斷,短暫阻塞5~10秒

一致性

  • 最終一致性

  • 會話一致性

  • 全域一致性

串連池

支援

事務拆分

支援

防閃斷(串連保持)

支援

資料脫敏(安全)

支援

變更配置業務無感

支援

多主叢集(庫表)

支援

計算節點秒級彈性擴充

支援

獨佔資源,無需支援

Proxy限流保護(即將上線)

支援

費用說明

資料庫代理企業版不收取相關費用,可免費使用。

資料庫代理企業版的切換策略如下:

系列

購買類型

切換策略

系列

購買類型

切換策略

叢集版

新購叢集

在2021年12月9日後,新購叢集僅提供資料庫代理企業版。

存量隨用隨付叢集

對於存量的隨用隨付叢集,資料庫代理於2021年12月9日已自動切換到資料庫代理企業版。

存量訂用帳戶叢集

對於存量的訂用帳戶叢集,資料庫代理於2021年12月9日已自動切換到資料庫代理企業版。

使用限制

PolarDB叢集版支援叢集地址和資料庫代理相關功能。

注意事項

  • 資料庫代理預設的叢集地址和自訂的叢集地址都不支援壓縮協議。

  • 使用叢集地址後,若未啟用事務拆分,事務內的所有請求都會路由到主節點。

  • 使用叢集地址後,當執行SHOW PROCESSLIST命令時,系統會將所有節點的結果合并後返回。

  • 若執行了多語句或調用了預存程序,當前串連的後續請求會全部路由到主節點,需斷開當前串連並重新串連才能恢複讀寫分離功能。

  • PolarDB叢集地址本身並沒有最大串連數的限制,串連數的限制主要由後端資料庫中計算節點的規格決定。對於讀寫入模式的叢集地址由於一個應用串連會與後端資料庫中每個計算節點各建立一個串連,所以應用能使用的最大串連數就是單個計算節點的最大串連數;對於唯讀模式的叢集地址由於一個應用串連只會與後端資料庫中的一個計算節點建立串連,所以應用能夠使用的最大串連數為該唯讀叢集地址下所有隻讀節點的最大串連數之和。對於讀寫入模式的叢集地址可以通過事務級串連池功能來增加應用的最大可用串連。

  • 新增唯讀節點或重啟唯讀節點之後建立的讀寫分離串連,會轉寄請求到該唯讀節點。新增唯讀節點或重啟唯讀節點之前建立的讀寫分離串連,不會轉寄請求到新增的唯讀節點或重啟後的唯讀節點上,需要斷開該串連並重建立立串連,例如,重啟應用程式。

  • 請勿在運行Multi Statements或調用預存程序時修改環境變數,例如set names utf8mb4;select * from t1;,否則可能會導致請求路由到唯讀節點和主節點查到的資料不一致。

  • 當您使用應用串連池建立URL連結時,為了防止串連池在網路或其它非預期情境下丟包導致應用串連池hang住的問題,建議在URL連結中增加connectTimeoutsocketTimeout參數。參數說明請參見參數說明。樣本如下:

    java url: jdbc:mysql://ip:port/db?connectTimeout=60000&socketTimeout=300000;

升級資料庫代理規格

資料庫代理企業版預設的規格可以滿足使用者絕大部分的應用情境。當客戶進行壓力測試或者業務輸送量很高時,當前新版本的資料庫代理規格會自動隨著代理的負載即時升級,避免資料庫代理成為瓶頸。對於老版本的資料庫代理,您也可以手動升級其規格。

說明
  • 資料庫代理不佔用叢集的CPU核心數資源,因此其規格升級不會導致叢集可用CPU數減少。

  • 資料庫代理企業版不收取費用,可免費使用。因此其規格升級也不會產生任何相關費用。

關於如何升級資料庫代理規格,請參見升級資料庫代理規格

相關API

API

描述

API

描述

CreateDBEndpointAddress

建立PolarDB叢集的公網地址。

CreateDBClusterEndpoint

建立PolarDB自訂叢集地址。

DescribeDBClusterEndpoints

查詢PolarDB叢集的地址資訊。

ModifyDBClusterEndpoint

修改PolarDB叢集地址屬性。

ModifyDBEndpointAddress

修改PolarDB叢集的串連地址(如自訂叢集地址)。

DeleteDBEndpointAddress

釋放PolarDB叢集地址(除了自訂叢集地址的私網地址)。

DeleteDBClusterEndpoint

釋放PolarDB自訂叢集地址。

  • 本頁導讀 (1, M)
  • PolarDB資料庫代理介紹
  • 支援兩種資料庫代理版本
  • 費用說明
  • 使用限制
  • 注意事項
  • 升級資料庫代理規格
  • 相關API
文檔反饋
phone 聯絡我們

立即和Alibaba Cloud在線服務人員進行交談,獲取您想了解的產品信息以及最新折扣。

alicare alicarealicarealicare