企業資料庫選型規則

来源:https://www.cnblogs.com/88223100/archive/2022/10/18/Enterprise-database-selection-rules.html
-Advertisement-
Play Games

背景 企業資料庫選型規則。 一、資料庫部署形式 隨著硬體發展,指標上會有變化。 部署形式決定了容量上限,計算能力上限,讀寫帶寬上限,RPO,RTO指標,適應場景。 1、分散式部署(例如pg+citus插件) 容量上限:100節點以上,PB級。 計算能力上限:100節點以上,6400核以上。 讀寫帶寬 ...


背景

企業資料庫選型規則。

一、資料庫部署形式

隨著硬體發展,指標上會有變化。

部署形式決定了容量上限,計算能力上限,讀寫帶寬上限,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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言: 內含:Windows開啟關閉測試模式的方法、開啟測試模式失敗的解決辦法、win10進入bios的方式、BitLocker恢復方式。 對於互聯網從業者來說,尤其是開發人員、測試人員、產品經理,在內部測試或驗收時,軟體未獲得微軟簽名時,需要以系統以測試模式運行,安裝軟體進行測試。 win7系統開 ...
  • nginx反向代理與負載均衡 nginx通常被用作後端伺服器的反向代理,這樣就可以很方便的實現動靜分離以及負載均衡,從而大大提高伺服器的處理能力。 nginx實現動靜分離,其實就是在反向代理的時候,如果是靜態資源,就直接從nginx發佈的路徑去讀取,而不需要從後臺伺服器獲取了。 nginx通過ups ...
  • 背景介紹 ubuntu 20.04 版本系統自帶的 MySQL 版本是 8.0,普通方法很難安裝 5.7 版本的。由於 8.0 版本較 5.7 版本做了不少改動,筆者比較習慣使用 5.7 版本。 網上搜做了一圈,跟著各種教程試了很多遍,最後終於找到了成功的方法。過程記錄分享出來,供大家參考。 安裝過 ...
  • PostgreSQL的功能非常強大,但是要把PostgreSQL用好,開發人員是非常關鍵的。 下麵將針對PostgreSQL資料庫原理與特性,輸出一份開發規範,希望可以減少大家在使用PostgreSQL資料庫過程中遇到的困惑。 目標是將PostgreSQL的功能、性能發揮好,她好我也好。 ...
  • 京東雲TiDB SQL層的背景介紹 從總體上概括 TiDB 和 MySQL 相容策略,如下表: SQL層的架構 用戶的 SQL 請求會直接或者通過 Load Balancer 發送到 京東雲TiDB Server,TiDB Server 會解析 MySQL Protocol Packet,獲取請求內 ...
  • 主從原理 master伺服器將數據的改變記錄二進位binlog日誌,當master上的數據發生改變時,則將其改變寫入二進位日誌中;slave伺服器會在一定時間間隔內對master二進位日誌進行探測其是否發生改變, 當master伺服器數據發生變化,則slave開始一個I/O Thread請求mast ...
  • 一、什麼是工作流? 在闡述什麼是工作流之前,先說一下工作流和普通任務的區別,在於依賴視圖。 普通任務本身他只會有自己的dag圖,依賴視圖是無邊界的,不可控的,而工作流則是把整個工作流都展示出來,是有邊界的,可控的,這是工作流的優勢。下麵為大家介紹工作流的相關功能: 01 工作流—功能介紹 ● 虛擬節 ...
  • GreatSQL社區原創內容未經授權不得隨意使用,轉載請聯繫小編並註明來源。 GreatSQL是MySQL的國產分支版本,使用上與MySQL一致。 本文來源:原創投稿;作者:YeJinrong/葉金榮 測試效率提升36% ~ 100%,相當可觀 本文目錄 並行構建索引測試 進一步提高索引構建效率 並 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...