數據庫漫談(十)----亂花

距上一次的《雲數據庫》已通過了兩個多月沒有更新這個系列了,不是不想寫,而是沒有靈感,找不到想寫的東西。
最近恰巧有個老朋友要作一個開發項目,問我選什麼數據庫好。sql

爲了避免辜負老朋友的信任,我決定寫一期關於數據庫選型的文章。數據庫

先說一下這個問題的背景。放在20年前,選一個數據庫彷佛不是啥難題,由於可選項太少了。基本原則就是有錢任性的用ORACLE/DB2,口袋拮据的用Mysql,剩下的選SqlServer/Sybase。
但是在20年後的今天,選一個合適的數據庫就變得不那麼容易了,由於啥呢?可選項太多了。不算外國的數據庫產品,光是國產數據庫就有上百種之多,怎能不叫人亂花漸欲迷人眼呢。安全

下面是2021年5月最新的數據庫排名,先不用關注分數和排名,只看參與排名的數據庫數量是否是就有點眼花繚亂了。服務器

2021年5月國產數據庫排行榜
https://www.modb.pro/dbRank
網絡

2021年5月國際數據庫排行榜
https://db-engines.com/en/ran...
架構

那在這麼多的數據庫之中如何作出正確的選擇呢?我以爲能夠從如下幾個方面進行評價。運維

◆預算投入加密

●一次投入(必須投入)

   包括數據庫軟件/License購買費用,數據庫在本地配置時的硬件(服務器,機房,網絡等)購買費用。spa

●持續投入(必須投入)

   包括數據庫軟件售後技術支持費用,本公司運維人員費用,數據庫在雲上配置時的虛擬機/服務費用。code

●遷移投入(非必須投入)

   數據中心遷移費用,數據庫類型遷移費用。

◆數據庫位置

●是否和應用服務器放在一塊兒
   ●是否有災備架構
   ●是否採用公有云

◆遷移難度

●從正在使用中的數據庫類型,位置遷移到其餘數據庫類型,位置的難度。

◆業務類型

●業務處理(OLTP)
   ●數據倉庫(OLAP)
   ●HTAP混合型數據庫

◆數據規模

●初期規模

   數據庫初始導入時的數據量。

●增加速度

   數據的積蓄方式,增加速度以及數據增加到多大程度後考慮分庫/分表/分區。

◆數據類型

◆安全需求

●網絡級別安全控制(Route,OS 層ACL 等)
   ●數據庫級別訪問權限控制(DB User 權限 等)
   ●高級權限控制(Audit,加密 等)

◆運維難度

●定例運維(Backup/Recovery 等)
   ●故障處理(技術文檔是否全面公開,社區論壇是否完善,既存客戶數量,既存技術者數量等)
   ●擴展能力( Share Everything、Share Storage、Share Nothing 等)

以上只是簡單的列出了在數據庫選型時須要考慮的幾個點,其實在實際操做時還須要把點擴展成面,這就須要花費很大的功夫了。

2021/05/14 @ Dalian

相關文章
相關標籤/搜索