聊聊使用FURPS模型做資料庫選型評估中的一些問題

張哥說技術發表於2023-03-07

上週五我介紹了一種軟體質量評估模型FURPS,國外的一些企業使用該模型來對資料庫產品做對比評估。實際上近些時候,很多國內的使用者也在做一些類似的研究工作。如何客觀的做資料庫選型對比是一件十分具有挑戰性的事情。有朋友說既然有了模型,那麼評估資料庫不是很簡單的事情了嗎?實際上並非如此簡單。哪怕在同一個模型下,不同的人來做對比評估,也會得出截然相反的評估結論來。因為模型只是一個大體的評估框架,而模型的各種引數都是可調整的,另外對於每一個問題,不同的企業,不同的使用者,不同的運維人員與研發人員,面對不同的運維場景,對同一個問題,給出的評估結果可能相去甚遠。比如在易用性上,熟悉Mysql的人肯定不會給MYSQL打低分,而對於不熟悉的Postgresql,肯定給出低分,反過來也是如此。並不是說Mysql和Postgresql本身就在這個對比項上就一定有這樣的差距,所處地位的不同造成了實質性的評估差異。
在使用FURPS評估模型做資料庫選型對比的時候,首先需要調整的是各個維度的權重。我讓CHATGPT做一個Oracle、Mysql、Postgresql的FURPS評估,它給出了下面的答案。

評估因素

指標

Oracle

MySQL

PostgreSQL

功能性

資料儲存和管理功能

5

4

4

 

資料查詢和報表功能

5

4

4

 

安全和許可權管理功能

5

4

4

可用性

使用者介面和操作性

4

3

3

 

學習曲線和易用性

3

4

4

可靠性

可用性和可恢復性

5

4

4

 

容錯性和安全性

5

4

4

 

可維護性和擴充套件性

4

3

4

效能

資料庫的響應時間和吞吐量

5

4

4

 

資料庫的容量和負載能力

5

4

4

支援性

文件和API

5

4

4

 

開發者和管理員文件

4

4

4

 

支援和維護服務

5

3

3

總分

-

58

46

45

         聊聊使用FURPS模型做資料庫選型評估中的一些問題

CHATGPT的答案實際上是一種十分常見的評估模型的結論。主要注重功能性、支援性和可靠性。效能與可用性的佔比略低。而實際上當你做選型的時候,可能這些比例關係可能需要根據你自己的應用特點和需求去做調整。比如你特別看中效能,那麼效能在模型的佔比可能會超過30%,這種情況下,評估結果可能截然不同。
而效能評估也並不是十分簡單而單一的,如果你的應用特別看中高併發的單條資料寫入,那麼Oracle的總分可能還不一定能比得上Mysql而如果你比較看中複雜的大表多表關聯,Mysql的評估結果可能會最低。而如果你把易於運維作為最為重要的評估項,那麼Mysql很可能因為其簡單而一騎絕塵,把Oracle都遠遠甩在身後。
哪怕是對於可用性這個評估項,不同的使用者給出的評估結論也會因為他們自己的知識結構與傳統經驗而有所不同。一個對Mysql擁有十分豐富的開發與運維經驗的企業,在選擇分散式資料庫的時候,肯定會給予Oceanbase、Tidb、HotDB、TDSQL等Mysql生態的分散式資料庫產品在可用性、支援性上較高的評價。實際上這一點也給做資料庫選型評價的朋友提了一個醒,不要總想著去參考別人的評估結論,否則東施效顰的故事很可能發生在你身上。別人的評估方法你可以參考,模型也可以借鑑,不過根據自己的情況,一定要認真調整好模型,否則可能得出截然相反的結論來。
除此之外,評估的粒度對於模型的影響也十分大,越細緻的維度分析,越容易做出更為準確的判斷。比如上面那個CHATGPT的對比分析案例,如果把指標維度再分得更細緻一些,並保持剛才各個維度的比例相同,我們看到了一個略有不同的結果。

評估因素

指標

Oracle

MySQL

PostgreSQL

功能性

資料庫管理

3

2.4

2.4

 

資料建模和設計

3

2.4

2.4

 

資料庫查詢

3

2.4

2.4

 

資料庫報表

3

2.4

2.4

 

資料庫安全

3

2.4

2.4

可用性

使用者介面設計

2.67

2

2

 

系統易用性

2

2.67

2.67

 

使用者培訓和文件

2.67

2.67

2.67

可靠性

故障處理和恢復

3

2.4

2.4

 

資料一致性和完整性

3

2.4

2.4

 

資料庫備份和恢復

3

2.4

2.4

 

資料庫容錯性

3

2.4

2.4

 

資料庫可維護性

2.4

1.8

2.4

效能

資料庫響應時間

2

1.6

1.6

 

資料庫吞吐量

2

1.6

1.6

 

資料庫併發性

2

1.6

1.6

 

資料庫擴充套件性

1.6

1.2

1.6

 

資料庫容量和負載能力

2

1.2

1.6

支援性

開發者文件和API

5

4

4

 

管理員文件和API

5

3

3

 

支援服務

5

3

3

 

社群支援和資源

5

4

4

總分

-

66.34

51.94

53.34

         

這依然是CHATGPT的回答,在這個評估表中Mysql和PostgresqlSQL分數出現了一些逆轉。

評估因素

指標

Oracle

MySQL

PostgreSQL

功能性

資料庫管理

5

4

4

 

資料建模和設計

5

4

4

 

資料庫查詢

5

4

4

 

資料庫報表

5

4

4

 

資料庫安全

5

4

4

可用性

使用者介面設計

4

3

3

 

系統易用性

3

4

4

 

使用者培訓和文件

5

3

3

可靠性

故障處理和恢復

5

3

3

 

資料一致性和完整性

5

4

4

 

資料庫備份和恢復

5

3

3

 

資料庫容錯性

5

4

4

 

資料庫可維護性

4

3

4

效能

資料庫響應時間

5

4

4

 

資料庫吞吐量

5

3

4

 

資料庫併發性

5

3

3

 

資料庫擴充套件性

4

3

4

 

資料庫容量和負載能力

5

4

4

支援性

開發者文件和API

5

4

4

 

管理員文件和API

5

3

3

 

支援服務

5

4

4

 

社群支援和資源

5

3

3

總分

-

105

78

81

         

而如果採用不同的分值模型,得到的結果又會不同,Oracle的優勢就更明顯了。資料庫對比評估,對於不同的客戶而言,其評估結論比如會有所差異。不能說哪種評估就是對的或者更為準確的。而只要你真正的科學的去根據自己的特點與需求做出的評估才是對你有用的。是否對你的選擇有用,才是資料庫對比評估的最終目的,不用過於看重別人的看法,這是我個人對資料庫對比評估的一貫觀點。
         

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024923/viewspace-2938381/,如需轉載,請註明出處,否則將追究法律責任。

相關文章