18項火眼金睛-評估一款資料庫

德哥發表於2017-10-28

標籤

PostgreSQL , 資料庫評估


背景

不論你是投資方、還是CTO或者架構師,如果你需要在非常核心的場合選擇一款資料庫產品,或者你要投資一個資料庫產品或團隊,本文一定會為你提供一個很好的指導。

現在的資料庫分類在dbranking上已經分得很細:

https://db-engines.com/en/ranking

Complete ranking  
Relational DBMS  
Key-value stores  
Document stores  
Graph DBMS  
Time Series DBMS  
RDF stores  
Object oriented DBMS  
Search engines  
Multivalue DBMS  
Wide column stores  
Native XML DBMS  
Content stores  
Event Stores  
Navigational DBMS  

本文主要評估的是關聯式資料庫,關聯式資料庫又分:

OLTP:線上事務處理  
  
OLAP:分析型資料庫  
  
HTAP:混合資料庫(既能支援線上事務,又能支援線上分析)  

評估資料庫產品的18項火眼金睛

1、SQL相容性

SQL語法(多維分析、視窗、子查詢、CTE、DDL事務、觸發器、規則、事件觸發器)

併發控制能力

事務隔離級別支援

支援的資料型別

支援的操作符

支援的索引

客戶端語言介面

服務端程式設計介面

分割槽表能力

管理GUI,管理介面,管理函式,管理檢視等

2、優化器能力

基於成本的執行計劃

基於遺傳演算法的執行計劃

多少種資料訪問方法

支援哪些SQL 重寫規則

支援哪些執行節點並行

支援哪些JOIN演算法

支援哪些排序演算法

3、擴充套件能力

並行能力(單機並行、多機並行)

儲存能力(行存、列儲存、壓縮、堆存、樹存)

擴充套件性 – scale up 能力

擴充套件性 – scale out 能力

資料複製能力

4、運算能力

向量計算

JIT

FPGA、GPU 計算擴充套件能力

5、核心擴充套件能力

核心擴充套件能力(自定義UDF,IDX,OP,TYPE,視窗,聚合,外部資料來源,PL擴充套件介面)

6、可靠性、可用性、穩定性

多副本能力

備份能力

恢復能力(時間點恢復、並行備份恢復等能力)

容災能力

越界回退能力

HA能力

崩潰恢復能力

7、安全性(認證方法、加密型別、透明加密型別、透明加密儲存)

8、其他特性

(流計算、圖計算、GIS能力、推薦演算法、時序、NOSQL、搜尋、等)

估值

9、核心開發語言、模型、平臺相容性、產品軟肋

C,

執行緒模型、程式模型、

Linux,unix, windows, …

有哪些產品設計、架構方面的軟肋。

10、程式碼成熟度、完成度

11、roadmap

12、主要程式碼貢獻者

13、效能

tpc-b, tpc-h, tpc-ds, tpc-c, sysbench(oltp), TCO

14、應用場景、案例

15、生態

商業生態:高校、資料庫廠商、技術服務廠商、雲廠商、使用者群體、應用開發商、語言生態、投資方生態

社群狀態

社群活躍度

與其他生態的融合能力,hadoop, spark, ….

16、未來發展潛力

17、成本

學習成本

開發成本

運維成本

管理成本

18、開源許可

開源許可很重要!!!

參考

https://db-engines.com/en/ranking

https://www.postgresql.org/docs/10/static/index.html

https://wiki.postgresql.org/wiki/PostgreSQL_derived_databases


相關文章