實例選型和集群規劃
云原生數據倉庫AnalyticDB PostgreSQL版經過多次產品迭代升級,當前主流實例資源類型為存儲彈性模式和Serverless模式。在購買實例時,根據本文選擇合適的規格和存儲空間,可以獲得更好的業務體驗。
為了減少實例配置選型的復雜度,存儲彈性模式和Serverless模式的實例僅需選擇以下幾個參數即可完成實例創建。
實例資源模式
引擎版本
存儲彈性模式提供了如下引擎版本:
6.0標準版:標準引擎,基于原生Greenplum內核深度定制開發,適用于通用業務場景。
7.0標準版:基于PostgreSQL 12打造了7.0版,無論在功能、性能、企業級能力或者安全方面都更具有競爭力。
規格節點
云原生數據倉庫AnalyticDB PostgreSQL版采用MPP并行架構,在節點角色上區分為Master節點和Segment節點,其中Master節點是實例的入口,負責SQL請求、路由分發和結果集處理,Segment節點為計算節點,負責SQL處理和數據存儲,每個Segment節點會處理并存儲表一個分片的數據,即MPP架構下的一個數據分區。
在創建或升級實例規格時,需要選擇實例的Master資源、Segment節點規格、Segment節點數量(實例節點數量)和存儲類型。
Master資源:建議按照Master CU = 單個segment規格的CPU核數選擇。
如需更多Master資源,需實例創建完成后增加規格,具體操作,請參見Master資源管理。
Segment節點規格:
單節點2核16 GB內存,適用于較低并發場景。
單節點4核32 GB內存,推薦規格,適用于中并發通用場景。
單節點8核64 GB內存,適用于高并發執行場景。
單節點16核128 GB內存,適用于超高并發執行場景。
Segment節點數量:采用MPP架構,數據處理能力隨實例節點數量增加而線性增長,保證數據量增加而響應RT時間不變。可以參照原始數據量及應用場景,選擇適合的實例節點數。
存儲類型:
ESSD:可以提供更好的I/O能力,帶來更高的分析性能,適用于性能優先類場景。
節點(分區)存儲類型
節點核數
內存
有效存儲空間
推薦場景
ESSD
2
16 GB
50 GB到1 TB
低并發場景,支持節點4~128個。
ESSD
4
32 GB
50 GB到2 TB
高并發場景,支持節點4~128個。
核數:內存:存儲
推薦配比為1:8:80
,為了保障實例的整體性能,建議Segment數據存儲量/內存≤20,以保證較高的緩存命中率。
數據加密:
有數據安全合規要求的場景,請選擇數據加密選型,默認不加密。僅在創建實例時可以開啟云盤加密,創建實例后無法開啟;創建實例時,存儲磁盤類型需選擇為ESSD云盤或高效云盤;云盤加密功能開啟后無法關閉;開啟云盤加密后,實例生成的快照以及通過這些快照創建的云盤版實例將自動延續加密屬性。
請注意,加密將影響存儲的I/O性能,進而影響整個實例的響應時間和處理能力。
實例配置選型
如果有5 TB的原始數據,針對高性能分析場景,并有100并發以上的查詢,建議采用SSD存儲類型,單節點4核32 GB內存的實例規格,考慮到一定的存儲安全水位80%,每個節點存儲空間為200 GB,總共32個節點實例。云原生數據倉庫AnalyticDB PostgreSQL版默認采用主備高可用架構,數據雙副本。
行存儲與列存儲
云原生數據倉庫AnalyticDB PostgreSQL版在表數據存儲格式上支持行存儲和列存儲,二者在不同使用場景下各有優劣勢,直接關系到實例的性能和存儲空間。用戶在創建表時,支持指定數據存儲格式,即支持按行組織存儲,也支持按列組織存儲。
如果OLTP的需求偏多,有較多數據更新操作或有實時寫入的業務場景 (INSERT/UPDATE/DELETE ),可以考慮行存。 如果用戶有OLTP和OLAP的混合需求,可以采用分區表,例如按時間維度的需求分區,分區數目建議不超過200個,否則會影響查詢的SQL優化性能。近期的數據明細查詢較多的話,可以考慮使用行存。對于1 TB 原始數據,入庫后采用行存儲,大小一般還是在1 TB左右,考慮到索引、日志、以及在計算過程中會產生臨時文件等,建議按2 TB的用戶數據空間來規劃集群實例規格。若對查詢性能要求較高,可以增加實例節點數,從而增加相應的CPU、內存等資源,提升查詢性能。
如果OLAP的需求偏多,有批處理ETL場景,其數據一般較少被更新(UPDATE/DELETE),數據為批量入庫,同時查詢以少量列的全表數據聚合關聯為主,需要經常對數據進行統計時,建議采用列存儲;需要比較高的壓縮比時,也可以選擇列存。列存儲支持較高的數據壓縮率,可以達到2~5倍的壓縮比,即對于1 TB原始數據,入庫后若采用了列存儲壓縮設置,數據在0.5 TB以內,那么可以按1 TB的用戶數據存儲空間來規劃集群實例規格。
云原生數據倉庫PostgreSQL版也支持OSS外表的擴展,可通過gzip實現外部存儲上的數據壓縮,將不需要參與實時計算的數據存儲到數據庫外部以進一步節省存儲成本。