背景
企業資料庫選型規則,
一、資料庫部署形式
隨著硬體發展,指標上會有變化,
部署形式決定了容量上限,計算能力上限,讀寫帶寬上限,RPO,RTO指標,適應場景,
1、分布式部署(例如pg+citus插件)
容量上限:100節點以上,PB級,
計算能力上限:100節點以上,6400核以上,
讀寫帶寬上限:100節點以上,200GB/s以上,
RPO:如果每個計算節點都采用多副本存盤,RPO=0,
RTO:如果每個計算節點都采用HA,RTO可以做到1分鐘內,
使用限制:有一些SQL限制,
適應場景:應用代碼可控程度高的情況下,適合TP和AP業務,
2、單節點本地存盤
容量上限:10TB級,
計算能力上限:64核級,
讀寫帶寬上限:2GB/s級,
RPO:RPO無保障,
RTO:RTO無保障,
使用限制:SQL無限制,
適應場景:測驗環境,非生產環境,對資料庫RPO,RTO都沒有要求的環境,
3、單節點多副本存盤
容量上限:32TB級,
計算能力上限:64核級,
讀寫帶寬上限:2GB/s級,
RPO:單機房RPO=0,(如果存盤支持跨機房多副本,可以做到多機房RPO=0),
RTO:10分鐘級,
使用限制:SQL無限制,
適應場景:非核心場景生產、測驗,
4、雙節點共享存盤
容量上限:32TB級,
計算能力上限:64核級,
讀寫帶寬上限:2GB/s級,
RPO:單機房RPO=0,(如果存盤支持跨機房多副本,可以做到多機房RPO=0),
RTO:1分鐘級,
使用限制:SQL無限制,
適應場景:核心、非核心場景生產,
5、雙節點主備異步復制
容量上限:32TB級(使用遠程存盤),10TB級(使用本機存盤)
計算能力上限:64核級,
讀寫帶寬上限:2GB/s級,
RPO:10GB網路,REDO延遲毫秒級、1MB以內,(支持跨機房部署),心跳機制可確保RPO < 60秒
RTO:1分鐘級,
使用限制:SQL無限制,
適應場景:非核心場景生產,
6、雙節點主備半同步復制
容量上限:32TB級(使用遠程存盤),10TB級(使用本機存盤)
計算能力上限:64核級,
讀寫帶寬上限:2GB/s級,
RPO:
無節點或單一節點例外時,可保證RPO=0,
兩個節點都例外時,RPO取決于備份延遲,采用基于PG流復制的持續REDO備份,可以做到RPO毫秒級,
RTO:1分鐘級,
使用限制:SQL無限制,
適應場景:核心、非核心場景生產,
7、三節點及以上多副本全同步復制
容量上限:32TB級(使用遠程存盤),10TB級(使用本機存盤)
計算能力上限:64核級,
讀寫帶寬上限:2GB/s級,
RPO:
小于半數節點例外時,可保證RPO=0,
半數以上節點例外時,RPO取決于 1、10GB網路,REDO延遲毫秒級、1MB以內,2、備份延遲,采用基于PG流復制的持續REDO備份,可以做到RPO毫秒級,
RTO:1分鐘級,
使用限制:SQL無限制,
適應場景:核心場景生產,
8、計算存盤分離(存盤多副本)(比如阿里云POLARDB PG)
容量上限:100TB級,
計算能力上限:16節點,1024核級,
讀寫帶寬上限:32GB/s級,
RPO:單機房RPO=0,(如果存盤支持跨機房多副本,可以做到多機房RPO=0),
RTO:15秒級,
使用限制:SQL無限制,
適應場景:核心、非核心場景生產,
9、計算存盤分離(存盤多副本)+ 雙機房半同步
容量上限:100TB級,
計算能力上限:16節點,1024核級,
讀寫帶寬上限:32GB/s級,
RPO:
無節點或單一節點例外時,可保證RPO=0,
兩個節點都例外時,RPO取決于備份延遲,采用基于PG流復制的持續REDO備份,可以做到RPO毫秒級,
RTO:15秒級,
使用限制:SQL無限制,
適應場景:核心、非核心場景生產,
10、計算存盤分離(存盤多副本)+ 多機房多副本全同步
容量上限:100TB級,
計算能力上限:16節點,1024核級,
讀寫帶寬上限:32GB/s級,
RPO:
小于半數節點例外時,可保證RPO=0,
半數以上節點例外時,RPO取決于 1、10GB網路,REDO延遲毫秒級、1MB以內,2、備份延遲,采用基于PG流復制的持續REDO備份,可以做到RPO毫秒級,
RTO:15秒級,
使用限制:SQL無限制,
適應場景:核心場景生產,
11、只讀節點
使用限制:SQL無限制,
適應場景:擴展讀能力,
12、非核心功能
12.1、業務透明的讀寫分離
使用限制:SQL無限制,
適應場景:擴展讀能力,
12.2、跨庫互動
使用限制:SQL無限制,
適應場景:跨庫DBLINK,跨庫外部表,跨庫物化視圖,
12.3、單元化
使用限制:SQL無限制,
適應場景:多實體共享少量資料,多寫,
二、云產品形態
1、基礎版(單機多副本存盤)PG 10
當前容量上限:2 TB
未來可達32TB級,
2、雙機版(異步復制)PG 9.4, 10、PPAS 9.3, 10
當前容量上限:6 TB
3、雙機版(半同步復制)PG 11
當前容量上限:32 TB
4、只讀實體
擴展讀能力,
5、計算存盤分離版 PG 11、PPAS 11
16個計算節點,讀寫分離,
當前容量上限:100 TB
PG、PPAS、POLARDB PG區別
除以上區別以外,還有如下區別(pg ppas polarddb選擇評判標準:資料量,可用性,可靠性,是否有去O需求,成本):
1、pg社區版,
2、PPAS兼容PG、同時高度兼容ORACLE,
相比社區版PG,新增AWR報告、SQL防火墻、資料庫用戶級資源隔離、索引推薦等高級功能,
3、POLARDB PG,
兼容PG、同時高度兼容ORACLE,
相比PPAS、PG,容量達到100TB,計算存盤分離,計算可擴展到16節點,支持超低延遲讀寫分離,
擴容速度快,(擴容不需要遷移資料,非常之快)
可用性高,恢復速度快,(恢復不需要REPLAY WAL,秒級恢復)
備份、恢復速度快,(存盤快照,秒級備份)
由于一份存盤支持讀寫分離(PG PPAS使用流復制方式,每個只讀節點一份存盤),POLARDB成本更低廉,
存盤采用按實際使用量付費,不需要規劃存盤大小,彈性更好,
自研主打產品,未來產品黑科技會集中增加到POLARDB,
三、行業合規要求
一些行業對資料庫系統的合規要求:
1、SQL審計
2、擴展性
3、可用性
4、可靠性
5、備份保留時間
6、備份可恢復時間點
7、閃回
8、回收站
9、存盤加密
10、資料檔案加密
11、型別加密
12、資料訪問鏈路加密
13、連接認證加密
14、加密KEY管理形式
四、資料庫版本推薦
除非業務有特殊要求,選新不選舊(新版本建議發行2個小版本后使用),
例如當前PG最新版本為11,已發布兩個小版本,推薦使用11最新小版本,
五、資料庫選型推薦
1 老業務遷移
原來使用什么DB? (PG, EDB PPAS, oracle, sybase, db2, ms sql)
1、pg -> pg
2、edb ppas -> ppas
3、oracle -> pg (用戶積極配合改動,并有傾向使用開源版)
平安案例
郵儲案例
中國人壽案例
4、oracle -> ppas (用戶期望少改動)
中航信案例
大量ZF,傳統行業案例
使用ADAM,大量成功去O案例,
https://promotion.aliyun.com/ntms/act/ppasadam.html
5、sybase, db2 -> pg
sybase (鐵老大案例)
db2 (蘇寧案例)
6、ms sql -> pg
(康恩貝案例)
2 新業務
1、如果Oracle可以免費使用,用戶選擇Oracle的概率是多少?如果超過50%的概率選擇Oracle,推薦到PG、POLARDB PG,
2、當前用戶技術堆疊
2.1、Oracle -> PPAS、POLARDB PG
使用ADAM,大量成功去O案例,
https://promotion.aliyun.com/ntms/act/ppasadam.html
2.2、sybase, db2 -> pg
2.3、ms sql -> pg
2.4、pg -> pg
2.5、edb ppas -> ppas
3、業務復雜度
3.1、復雜業務(有較復雜SQL,較復雜業務邏輯) -> PG
例如: 企業crm, erp, oa, 財務, 銷售, 經營分析系統,GIS地理資訊業務,等, (此類場景典型PG客戶:用友,sap,odoo)
3.2、簡單業務 -> PG (同樣完全可以勝任)
4、業務分類
4.1、純AP
100TB 以內資料,純AP(T+1):POLARDB PG,
32TB 以內資料,純AP(T+1):PG 11,
4.2、實時分析:WHERE條件過濾后資料量億級, POLARDB PG, PG 11,
4.3、TP
PG, PPAS, POLARDB PG
4.4、混合場景(有TP,有AP)
100TB以內資料量:
POLARDB PG
32TB 以內資料量:
PG 11
6TB 以內資料量:
PG 10, PPAS 10
產品AP能力主要包括:并行計算、GPU加速、JIT、向量計算、流計算、物化視圖、豐富的分析函式、豐富的視窗查詢函式、HASH JOIN、MERGE JOIN、豐富的內置函式、豐富的PLSQL語法,
產品TP能力:單節點 百萬級QPS
4.5、海量資料,大量為冷資料,不能洗掉,極少查詢,
pg, ppas, polardb pg,均支持OSS_FDW外部表,冷存盤,查詢對業務透明,
5、業務有SHARDING需求,但是不想改SQL適配sharding(sharding 帶來的SQL使用限制,包括跨庫事務,跨庫查詢,復雜SQL,維度表過大等問題)
100TB以內資料量:
POLARDB PG
32TB 以內資料量:
PG 11
6TB 以內資料量:
PG 10, PPAS 10
6、業務有多模需求,并且要求資料一致性,實時性
如果不要求實時性,一致性,可以再考慮將資料同步到其他產品
6.1、全文檢索、模糊查詢(tsvector, tsquery, pg_trgm技術)
6.2、任意欄位多維度組合實時查詢(smlar, rum, gin, bitmap scan, varbitx, roaring bitmap等技術)
例如:實時畫像系統、營銷系統,
6.3、文本相似查詢(pg_trgm技術)
6.4、向量相似查詢(cube技術)
例如:相似推薦系統
6.5、影像相似查詢(imgsmlr技術)
6.6、GIS地理資訊業務(postgis, brin, gist技術)
例如:天文、氣象、地震、國土、測繪、車聯網、物聯網
6.7、時空軌跡、混合場景業務(ganos, postgis, brin, gist技術)
例如:餓了么,點我達,打車,車聯網,
6.8、時序類(timescaledb 技術)
6.9、流計算(pipelinedb 技術)
6.10、圖式搜索(CTE 技術)
例如:風控、族譜、社交、內容推薦、用戶推薦等 業務,
多模類業務,性能功能指標參考HTAP測驗
《HTAP 用例測驗,性能指標》














參考
《PostgreSQL 規格評估 - 微觀、宏觀、精準 多視角估算資料庫性能(選型、做預算不求人)》
《資料庫選型之 - 大象十八摸 - 致 架構師、開發者》
《資料庫選型思考(PostgreSQL,MySQL,Oracle)》
《HTAP 用例測驗,性能指標》
RDS PG PPAS 性能白皮書
https://help.aliyun.com/document_detail/101470.html
https://help.aliyun.com/document_detail/101100.html
作者丨digoal
本文來自博客園,作者:古道輕風,轉載請注明原文鏈接:https://www.cnblogs.com/88223100/p/Enterprise-database-selection-rules.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/517692.html
標籤:PostgreSQL
